| L | M | X | J | V | S | D |
|---|---|---|---|---|---|---|
| « Feb | ||||||
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | ||||||
MANEJO DE LISTAS DESPLEGABLES DEPENDIENTES CON JOOMLA
Al programar algunos modulos en joomla me encontré con varios problemas en el manejo de listas desplegables dependientes con joomla, y la unica infomación con la que me encontraba era utilizar select…de esta forma
<select id=“lista” name=“lista”>
<option value=“” selected=“selected”>- selecciona -</option>
<option value=“windows”>Opcion1</option>
<option value=“mac”>Opcion2</option>
<option value=“linux”>Opcion3</option>
<option value=“otro”>Opcion4</option></select>
Y lo que yo necesitaba era utilizarlo de forma dinamica, obteniendolo de una base de datos…
y después de un rato y con asesorias salió…he aqui un ejemplo:
- HTML
En la función del html es importante poner estos valores para recuperar valores que se reciben
del php y si no hay ningun valor toma por default -1 (seria como un POST) $NumeroCuenta = JRequest::getVar(’cuentas’,”-1″);
$TipoPlan = JRequest::getVar(’tipoplan’,”-1″);
Dentro del formulario puedes poner las listas asi:
<tr><td class=”key” ><?php echo JText::_(’EMPLEADO’);?></td>
<td ><?php echo $Listas['asociados'];?></td></tr>
//LISTA2
<tr><td class=”key” ><?php echo JText::_(’CUENTA’ ); ?></td>
<td ><?php echo $Listas['cuentas'];?></td></tr>
//LISTA3
<tr><td class=”key”><?php echo JText::_(’TIPOPLAN’); ?></td>
<td><?php echo $Listas['tipoplan'];?></td></tr>
//IMPORTANTE:ESTO SE DEBE PONER POR QUE DE ESTA FORMA PORDEMOS HACER REFERENCIA
//A LOS VALORES SELECCIONADOS DE LA LISTA, PARA HACER OPERACIONES CON ELLOS
<input type=”hidden” name=”task” value=”SolicitudNueva” >
<input type=”hidden” name=”asociados” value=”<?php echo $Asociado;?>” >
<input type=”hidden” name=”cuentas” value=”<?php echo $NumeroCuenta;?>” >
<input type=”hidden” name=”tipoplan” value=”<?php echo $TipoPlan;?>” >
//LISTA 1
- PHP
en la función del PHP:
jimport(’joomla.html.html.select’ ); //libreria para el manejor de las listas en joomla
$db =& JFactory::getDBO(); // conexion con la base de datos
//con las siguientes 3 lineas recuperamos los valores que ya se seleccionaron en el html y si no se ha seleccionado el valor por default es -1
$Asociado = JRequest::getVar(’asociados’,”-1″);
$NumeroCuenta = JRequest::getVar(’cuentas’,”-1″);
$TipoPlan = JRequest::getVar(’tipoplan’,”-1″);
/*lista 1*/
//query de lo que se requiere que para la lista
$sql= “……..” //query
$db->setQuery($sql);
//Arreglo para almacenar los valores del query anterior
$ListaAsociados[] = JHTML::_(’select.option’,”, JTEXT::_(’COTIZA.LISTAASOCIADOS’), ‘id_Asociados’, ‘Asociados’ );
$ListaAsociados = array_merge( (array)$ListaAsociados, (array)$db->loadObjectList() );
//Lista desplegable
$Listas['asociados'] = JHTML::_(’select.genericlist’,$ListaAsociados, ‘Asociados’, ‘class=”inputbox” size=”1″ onchange=”javascript:adminForm.asociados.value=this.value;submit();”‘,’id_Asociado’, ‘Asociados’,$Asociado);
//Referencia al html
funcion_html($Listas,$Asociado, $TipoPlan, $NumeroCuenta);
Espero que les sea de ayuda, este ejemplo, ya que información o tutoriales de joomla no hay muchos.