我使用joomla 2.5,我想创建一个自定义表单字段类型that stored in the same module.
在XML中:
<fieldset name="basic" addfieldpath="/modules/mod_royalslider/fields"></fields>
<fieldset name="basic">
<field name="title" type="City" label="anythging" description="" />
</fieldset>
</fields>
文件/modules/mod_royalslider/fields/city.php
<?php
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die('Restricted access');
jimport('joomla.form.formfield');
class JFormFieldCity extends JFormField {
protected $type = 'City';
// getLabel() left out
public function getInput() {
return '<select id="'.$this->id.'" name="'.$this->name.'">'.
'<option value="1" >New York</option>'.
'<option value="2" >Chicago</option>'.
'<option value="3" >San Francisco</option>'.
'</select>';
}
}
现在显示错误,当我删除<fieldset name="basic" addfieldpath="/modules/mod_royalslider/fields"></fields>
错误消失,字段显示为文本字段。
您忘记在addfieldpath
中指定模型
<fields name="params">
<fieldset name="basic" addfieldpath="/modules/mod_royalslider/models/fields">
<field name="title" type="City" label="anythging" description="" />
</fieldset>
</fields>
将fields文件夹放入models文件夹中,并像上面那样放置路径。
你只要用你给的代码就行了,很简单:
<fields>
<fieldset name="basic" addfieldpath="/modules/mod_royalslider/fields">
<field name="title" type="City" label="anythging" description="" />
</fieldset>
</fields>
在字段中使用addfieldpath
,如::
<fields name="params" addfieldpath="/modules/mod_royalslider/models/fields" >
<fieldset name="basic">
<field name="title" type="City" label="anything" description="" />
</fieldset>
</fields>
您可以尝试使用此代码。
<fieldset addfieldpath="/modules/mod_royalslider/models/fields" name="basic">
<field name="title" type="City" label="anything" description="" />
</fieldset>