【发布时间】:2013-02-18 20:22:05
【问题描述】:
我正在处理 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,但从覆盖中使用它似乎没有任何效果。有人有什么建议吗?
【问题讨论】:
-
该类必须在此之前的某个时间点应用。否则,这个循环如何知道要向哪些元素添加类?表单元素在哪里定义?
-
@isherwood 这就是问题所在。该循环是 K2 中包含的循环的简化版本。但如果我没记错的话,它是自 Joomla 1.6 以来的默认表单循环。所有字段属性都先前在 xml 文件中定义。我的问题是我是否可以在循环内部或之前修改它们,但是从这个覆盖文件中。