1

我正在处理 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,但从覆盖中使用时似乎没有任何效果。有没有人有任何提示?

4

1 回答 1

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>

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

于 2013-03-04T17:59:50.267 回答