如何在Joomla JForm XML文件中添加动态下拉菜单?

10

对于Joomla开发还比较新手。将一个名为Forms的文件夹放置在model文件夹中,以加载必要的JForm数据。一切正常,但我需要动态地从数据库中获取数据以填充下拉框。

    <field name="category"
        type="list"
        label="Item Category"
        description="Item Category"
        class="inputbox"
                >
        <option value="1">
            Data from database</option>
        <option value="2">
            Data from database</option>
        <option value="3">
            Data from database</option>
    </field>

上面是一个粗略的示例。我希望值和选项名称来自数据库。我应该使用JTable还是params,如果使用,如何使用?非常感谢任何帮助。感谢大家。

2个回答

17
您可以使用 "sql" 类型来处理动态数据 -
请参考以下示例 - http://docs.joomla.org/SQL_form_field_type
<field 
    name="link" 
    type="sql" 
    default="" 
    class="articleselectbox" 
    label="Select an article"
    query="SELECT 
    concat(#__categories.alias, '/', #__content.id,'-', #__content.alias,'.html') as value,              
    concat(#__categories.alias, '/', #__content.id,'-', #__content.alias,'.html') as title 
    FROM #__content 
    LEFT JOIN #__categories ON #__content.catid=#__categories.id 
    ORDER BY #__content.title" 
    key_field="title" 
    value_field="value" 
/> 

非常感谢您的帮助!在您的协助下,我已经成功使其工作。再次谢谢! - user1522256

1
你可以通过创建自己的字段类型来实现这一点。Joomla Com_Categories具有该字段类型(administrator/com_categories/models/fields/categoryedit.php),使用categoryedit作为category.xml中下拉HTML元素的字段类型来填充类别下拉列表。 < p > & lt; field name =“parent_id” type =“categoryedit” label =“COM_CATEGORIES_FIELD_PARENT_LABEL” description =“COM_CATEGORIES_FIELD_PARENT_DESC”/ & gt;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接