joomla形式标记

时间:2013-03-04 16:56:30

标签: php joomla

我正在处理Joomla个人资料编辑表单。我想要做的是更改使用的标记,主要是添加CSS类。基本上很简单的东西。问题是,表单字段由Joomla处理,并在这样的循环中给出:

<?php foreach($this->form->getFieldsets() as $fieldset):?>
  <?php $fields = $this->form->getFieldset($fieldset->name);?>
  <?php foreach($fields as $field):?>
    <?php echo $field->label; ?>
    <?php echo $field->input;?>
  <?php endforeach;?>
<?php endforeach;?>

扩展可能会将自己的字段添加到循环中,因此默认输入不能进行硬编码。例如,我不知道如何将类添加到输入的标签中。要更改输入属性,我尝试使用JForm::setFieldAttribute但是从覆盖中使用它似乎没有任何效果。有人有任何提示吗?

1 个答案:

答案 0 :(得分:0)

配置文件插件的元素在profiles/profile.xml文件中定义。要在输入中添加类,您可以执行以下两种操作之一。首先编辑xml文件。大多数表单字段接受一个类,例如在默认的配置文件插件

        <field
            name="address1"
            type="text"
            id="address1"
            description="PLG_USER_PROFILE_FIELD_ADDRESS1_DESC"
            filter="string"
            label="PLG_USER_PROFILE_FIELD_ADDRESS1_LABEL"
            message="PLG_USER_PROFILE_FIELD_ADDRESS1_MESSAGE"
            size="30"
            class="custom_class"
        />

你可以看到我刚刚添加了课程。请注意,您还可以包含没有循环的表单字段。有关此示例,请参阅weblinks组件(表单视图)。他们这样做:

        <div class="formelm">
            <?php echo $this->form->getLabel('address1'); ?>
            <?php echo $this->form->getInput('address1'); ?>
        </div>

因此,您可以看到address1是xml文件中定义的字段名称 - 这只是回显相关数据。这也是添加类的完全可接受的方式。 希望这会有所帮助。