繁体   English   中英

Joomla组件开发:可搜索类别表单字段

[英]Joomla Component Development: Searchable category form field

我正在创建一个自定义组件,该组件允许后端用户将内容类别与数据库表中的记录相关联。 我希望在Joomla的整个后端中显示相同的表单字段,用户可以通过键入来过滤/搜索下拉列表中的类别。

joomla网站提供了以下代码示例:

<field name="mycategory" type="category" extension="com_content" label="Select a category" description="" />

但是,这只会创建一个不可搜索的标准下拉选择框。

在“ administrator / components / com_content / models / forms / artile.xml”中,类别字段列出为:

    <field name="catid"
           type="categoryedit"
        label="JCATEGORY"
           description="JFIELD_CATEGORY_DESC"
        required="true"
           default=""
    >
    </field>

但是,这给了我一个简单的文本框,用于输入类别ID。

如何轻松获得可搜索的下拉菜单,而无需从头开始进行编程?

类别字段类型是标准表单字段类型,因此在joomla中创建表单的任何地方都可以使用。 您可以在https://docs.joomla.org/Standard_form_field_types上了解有关标准表单字段的更多信息。 但是,类别编辑字段类型是类别管理器组件唯一的/自定义的。 您可以在https://docs.joomla.org/Creating_a_custom_form_field_type上了解有关自定义表单字段的更多信息。

为了在xml中使用自定义字段,您必须使用xml文件的fieldset标记中的addfieldpath属性声明一个字段的存储位置。

<fieldset addfieldpath="/administrator/components/<component name>/models/fields"></fieldset>

在上面的示例中,将是com_categories,因此使用categoryedit的完整路径将是

<fieldset addfieldpath="administrator/components/com_categories/models/fields"></fieldset>

将此行添加到模板将启用自动完成功能。

JHtml::_('formbehavior.chosen', 'select', null, array('disable_search_threshold' => 0 ));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM