10

Joomla 开发相当新。在模型文件夹中放置一个名为 Forms 的文件夹以加载必要的 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 或参数,如果是,如何使用?我非常感谢任何帮助。谢谢大家。

4

2 回答 2

17

You can use "sql" type for dynamic data-

http://docs.joomla.org/SQL_form_field_type

like below example-

<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" 
/> 
于 2012-10-08T06:15:25.097 回答
1

您可以通过创建自己的字段类型来做到这一点。Joomla Com_Categories 具有该字段类型 (administrator/com_categories/models/fields/categoryedit.php) 以使用 categoryedit 作为下拉 html 元素的 category.xml 中的字段类型来填充下拉列表。

<field name="parent_id" type="categoryedit" label="COM_CATEGORIES_FIELD_PARENT_LABEL" description="COM_CATEGORIES_FIELD_PARENT_DESC"/>

于 2015-02-17T12:11:51.170 回答