Foros del Web » Programando para Internet » PHP » Zend »

Decorar un Zend_Navigation

Estas en el tema de Decorar un Zend_Navigation en el foro de Zend en Foros del Web. Hola buenas he hecho un menu con Zen_Navigation , pero no consigo darle el formato deseado de salida html ,este seria mas o menos el ...
  #1 (permalink)  
Antiguo 04/05/2011, 03:20
 
Fecha de Ingreso: agosto-2009
Mensajes: 138
Antigüedad: 15 años, 3 meses
Puntos: 0
Decorar un Zend_Navigation

Hola buenas he hecho un menu con Zen_Navigation , pero no consigo darle el formato deseado de salida html ,este seria mas o menos el que me gustaria que saliera.
Código HTML:
<ul class="menu">
      <li>
      	<h4><a href="#">Inicio</a></h4>
      </li>
			<li>
      <h4><a href="#">1</a></h4>
				<div class="subMenu">
					<ul>
           
						<li>
							<h5><a href="#">1.1</a></h5>
						</li>
                                          </ul>
                                  </div>
</ul> 
Muchas gracias
  #2 (permalink)  
Antiguo 04/05/2011, 03:50
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Decorar un Zend_Navigation

Que tal niewpendejo,

Zend_Navigation no tiene decorators, ni los va a tener(según palabras M.W O'Phinney), asi que si quieres cambiar la estructura del html lo que puedes hacer es extender el view helper y sobrescribir el render o bien setearle un partial y dentro de este iterar sobre el container(recuerda que implementa RecursiveIterator y Countable) para generar la estructura que deseas.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 09/05/2011, 04:41
 
Fecha de Ingreso: agosto-2009
Mensajes: 138
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Decorar un Zend_Navigation

Hola muchas gracias por la ayuda , pero me surge una duda.

En mi carperta de layout tengo un
Menu.php
con este codigo:
Código PHP:
$pages =array(
       array(
'label'      => 'Inicio',
              
'module' =>'admin',
             
'controller'=>'inicio',
             
'action'=>'index',
             
'class'=>'menu')
$menu = new Zend_Navigation($pages);
$helper = new My_Helper_Navigation_Menu();
echo 
$helper->render($menu); 
Mi My_Helper_Navigation_Menu extiende de Zend_View_Helper_Navigation_HelperAbstract
Funciona perfectamente.

Pero me gustaria poder crear las paginas en un helper aparte ejemplo.
My_Helper_Navigation_Pages.

Y despues en el Admin_Bootstrap configurar el menu para pasarselo a la layout .
La idea es esta:

Código PHP:

 
public function _initNavigation()
 {
    
$menu = new Zend_Navigation(My_Helper_Navigation_Pages::Paginas());
    
$helper = new My_Helper_Navigation_Menu($menu);

  
//  Aqui pasar el helper a la vista 

Como puedo pasar mi My_Helper_Navigation_Menu a la vista para poder llamarlo en layout.

bien como $this->navigation() o como $this->render()
Muchas gracias

Última edición por niewpendejo; 09/05/2011 a las 05:43 Razón: mas informacion

Etiquetas: frameworks-y-php-orientado-a-objetos, zend-navigation
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:09.