02/12/2009, 19:24
|
| | Fecha de Ingreso: noviembre-2008
Mensajes: 288
Antigüedad: 16 años, 1 mes Puntos: 2 | |
Respuesta: Zend, seguimiento del menu y el item clickeado Realice este metodo para evitar trabajar con parámetros. No se si es lo mejor pero me ha gustado.
En el init() del controller, asigno a una variable en la view el menú que se ha invocado
$this->view->menuElegido = $this->getOpcionMenu();
//Esta funcion, rastrea la url actual, y busca cual de las palabras de mi menu aparece
public function getOpcionMenu()
{
$pathActual=$_SERVER['REQUEST_URI'];
$menuAdmin=array('home','clientes','productos','pr oveedores', 'contacto');
for ($i=0;$i<count($menuAdmin);$i++){
$p=strpos($pathActual,$menuAdmin[$i]);
if ($p===false){
//
}else{
return $menuAdmin[$i];
}
}
return false;
}
luego, en el phtml donde armo el menú, coloco algo como esto por cada item del menu:
<li <?php if(strpos($this->menuElegido, 'productos')!==false) echo "id=current" ?>>
<a title="Productos"
href="<?php echo $this->baseUrl ?>/admin/productos/">
<span>Productos</span>
</a></li>
La condición es que exista una palabra única que identifique a cada item del menú, y con eso armar el array dentro de la función. |