我正在处理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
但是从覆盖中使用它似乎没有任何效果。有人有任何提示吗?
答案 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文件中定义的字段名称 - 这只是回显相关数据。这也是添加类的完全可接受的方式。
希望这会有所帮助。