2012-10-08 14 views
6

Dość nowe w rozwoju Joomla. Umieść folder o nazwie Forms w folderze modelu, aby załadować niezbędne dane JForm. Wszystko działa dobrze, ale muszę pobierać dane dynamicznie z bazy danych, aby wypełnić pole rozwijane.Jak dodać dynamiczne menu rozwijane w pliku XML Joomla 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> 

Powyższy przykład stanowi przykład. Chcę, aby wartości i nazwy opcji pochodziły z bazy danych. Czy używam JTable lub params i jeśli tak, to w jaki sposób? Bardzo doceniam każdą pomoc. Dziękując wszystkim.

Odpowiedz

13

Można użyć "sql" typ dynamicznego DATA-

http://docs.joomla.org/SQL_form_field_type

jak poniżej przykład-

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

Dziękuję bardzo za pomoc! Mam to działa w oparciu o twoją pomoc. Dzięki jeszcze raz! – user1522256

+1

Dzięki za wskaźnik. To mi pomogło. – Makarand

0

Można to zrobić poprzez stworzenie własnego typu pola. Joomla Com_Categories ma ten typ pola (administrator/com_categories/models/fields/categoryedit.php), aby zapełnić listę kategorii przy użyciu kategoriiedit jako typ pola w category.xml dla rozwijanego elementu html.

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