2012-10-08 62 views
6

Bastante nuevo en el desarrollo de Joomla. Coloque una carpeta llamada Formularios en la carpeta del modelo para cargar los datos de JForm necesarios. Todo está funcionando bien, pero necesito tomar datos dinámicamente de la base de datos para rellenar un cuadro desplegable.Cómo agrego el menú desplegable dinámico en el archivo 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> 

El anterior es un ejemplo aproximado. Quiero que los valores y los nombres de opciones provengan de una base de datos. ¿Uso JTable o params y, en caso afirmativo, cómo? Aprecio mucho cualquier ayuda. Agradeciéndoles a todos.

Respuesta

13

Puede utilizar el tipo "sql" para la dinámica Data-

http://docs.joomla.org/SQL_form_field_type

, como a continuación ejemplo-

<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

Muchas gracias por su ayuda! Lo hice funcionar basado en tu ayuda. ¡Gracias de nuevo! – user1522256

+1

Gracias por el puntero. Esto me ayudó. – Makarand

0

Puede hacerlo mediante la creación de su propio tipo de campo. Joomla Com_Categories tiene ese tipo de campo (administrator/com_categories/models/fields/categoryedit.php) para poblar desplegable con categorías usando categoryedit como tipo de campo en category.xml para el elemento desplegable html.

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

Cuestiones relacionadas