joomla – 如何在模块中创建自定义表单字段类型?

我使用joomla 2.5,我想创建一个存储在同一模块中的自定义表单字段类型.

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文件夹中,然后像上面那样放置路径.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些