已修改以添加更多信息
我正在开发一个组件,我需要在其中配置它为每个已安装的语言添加一些信息;某种映射语言名称/自定义代码。
我在 config.xml 中创建了一个名为 languagegrid 的自定义表单字段,该字段动态填充了包含已安装语言的行 - 代码选择列表
在我的 config.xml 中我有
<fieldset name="language_mapping"
label="LANGUAGE_MAPPING"
description=""
addfieldpath="/administrator/components/com_mycomponent/models/fields">
<field name="languagegrid"
type="LanguageGrid"
>
</field>
</fieldset>
我的 languagegrid 表单字段的 getInput 函数填充它
public function getInput() {
...
foreach($installed languages as $lang) {
...
$html .= "<td>".$lang->name."</td>";
$html .= '<td><select id="'.$this->id.'" name="'.$this->name.'">';
$html .= '<option value...>...</option>';
...
$html .= '<option value...>...</option>';
$html .= '</select></td>';
}
...
return $html;
}
关键是选择名称 this-&gt; name 是字段的名称,因此每个选择都会覆盖相同的值。 我尝试为每个选择使用不同的名称,但之后没有保存任何值。似乎只有字段名称是可能的。
所以我的第二种方法是动态插入各种字段,每个字段都有一个选择,但我还没有找到如何制作它(如果可能的话)。这个选项可行吗?