Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
J'essaye de gérer un menu avec Zend_navigation. Pas de soucis jusqu'a la, je le déclare bien dans mon bootstrap, il se construit bien la ou il faut (il est sur la gauche), tout baigne.
Mais sur une page, j'aimerais avoir un autre menu (en plus du premier), et pas du tout au meme endroit (pas a gauche, mais juste en dessous de mon header), ni avec le meme style.
J'ai un fichier navigation.xml qui contient les éléments de mon menu de gauche, mais je ne sais pas comment gérer et déclarer dans mon bootstrap que j'ai 2 menus : 1 qui est tout le tps présent, l'autre qui ne s'affiche que dans un certain controller.
Merci de votre aide.
PS : voici mon bootstrap navigation et mon layout ou il est appelé (col1 => colonne de gauche / col2 => colonne centrale) :
bootstrap.php :
protected function _initNavigation(){ $view = $this->bootstrap('layout')->getResource('layout')->getView(); $config = new Zend_Config_Xml(APPLICATION_PATH."/configs/navigation.xml","nav"); $view->navigation(new Zend_Navigation($config)); }
layout.phtml :
<?php echo $this->doctype() ?> <html> <head> <?php echo $this->headMeta(); echo $this->headLink(); echo $this->headStyle(); echo $this->headScript(); echo $this->headTitle(); ?> </head> <body> <div id="col1"> <?php echo $this->partial('headerCol1.phtml'); ?> <?php echo $this->navigation()->menu() ?> <?php echo $this->partial('footerCol1.phtml'); ?> </div> <div id="col2"> <?php echo $this->partial('headerCol2.phtml'); ?> <?php echo $this->layout()->content ?> </div> <div class="clear"> </div> <div id="footer"> <?php echo $this->partial('footer.phtml') ?> </div> </body> </html>
Dernière modification par kalote (21-07-2010 14:56:48)
Hors ligne
Tu sauvegardes tes containers et tu le passes à ton aide de vue : $this->navigation($container)->menu()
Hors ligne
Thanks pour la réponse
Je peux faire ca dans mon bootstrap navigation ?, genre :
protected function _initNavigation(){ $view = $this->bootstrap('layout')->getResource('layout')->getView(); $config = new Zend_Config_Xml(APPLICATION_PATH."/configs/navigation.xml","nav"); $configOther = new Zend_Config_Xml(APPLICATION_PATH."/configs/navigation.xml","othermenu"); $view->premierMenu = new Zend_Navigation($config); $view->secondMenu = new Zend_Navigation($configOther); }
et ensuite, dans mon layout, mettre un placeholder par exemple pour le secondMenu pour qu'il s'affiche que dans le controller ou il doit s'afficher ?
Merci de ta réponse
Hors ligne
Bon apres plusieurs test, ca marche pas ...
J'ai sauvegarder mes 2 containers, créé 2 navigations avec, mais a chaque fois que j'ai les 2 menus, ils sont identiques ... alors que ca devrait etre 2 menus différent ....
Need help please
EDIT: en fait ca marche, mais il faut mettre $this->navigation()->menu($container); et pas mettre le $container en paramètre de navigation.
Voila, merci
Dernière modification par kalote (21-07-2010 14:56:28)
Hors ligne
kalote a écrit:
EDIT: en fait ca marche, mais il faut mettre $this->navigation()->menu($container); et pas mettre le $container en paramètre de navigation.
Désolé pour l'erreur
Hors ligne
Bonjours
<?= $this->navigation()->menu($this->navigation()->findById('default_login_logon));?>
default_login_logout est un sous menu de default home(inscription connextion/deconnextion catalogue ect.)
je voudrais réutiliser déconnextion/connextion dans un autre menu en dessous à gauche
suivant les cas id est <id>default_login_logout</id> ou <id>default_login_login</id>
suivant les privèle connextion et deconnextion le passage connexion/deconnextion marche , le controller est
<controller>login</controller> pour les deux naturellement
en résumer
<?= $this->navigation()->menu($this->navigation()->findById('default_home'));?> marche
<?= $this->navigation()->menu($this->navigation()->findById('default_login_logout'));?> ce passe rien
<?= $this->navigation()->menu($this->navigation()->findAllByController('login'));?>message erreur
en faite je veux juste récuper une sous-page
Hors ligne
Pages: 1