2012-10-08 58 views
6

Joomla開發相當新穎。將一個名爲Forms的文件夾放在模型文件夾中以加載必要的JForm數據。一切工作正常,但我需要從數據庫中動態獲取數據以填充下拉框。如何在Joomla JForm XML文件中添加動態下拉框

<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?如果是,如何使用?我非常感謝任何幫助。感謝你們。像下面示例 -

<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" 
/> 

回答

13

您可以使用 「SQL」 式的動態數據 -

http://docs.joomla.org/SQL_form_field_type

您可以通過創建自己的字段類型做到這一點。 Joomla Com_Categories具有該字段類型(管理員/ 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"/>

+0

非常感謝您的協助!我根據你的幫助得到了它的工作。再次感謝! – user1522256

+1

感謝您的指針。這幫助了我。 – Makarand

0