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.

Dejar un comentario