Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous
Voilà dans mon layout je fait l'appelle à mon menu de la manière suivante :
<div id="menu"> <?php echo $this->navigation()->menu($this->menuHorizontal()); ?> </div>
Ce que je voudrais c'est retiré l'affichage de ce menu sur certaines pages de mon appli intranet. Existe-t-il une commande permettant de supprimer le menu depuis un controller ???
Merci d'avance
Dernière modification par matdev (28-08-2009 09:35:43)
Hors ligne
Personne n'as une petite idée ???
Hors ligne
salut ,
pour mon cas j'ai deux menus l'un pour l'espace chef de projet et l'autre pour l'espace administrateur .
Voici comment je procede :
je n'affiche plus le menu dans mon layout principal.
dans le bootstap :
protected function _initNavigation() { $configAdmin = new Zend_Config_Xml('../application/configs/adminNavigation.xml', 'nav'); $adminContainer = new Zend_Navigation($configAdmin); Zend_Registry::set('adminContainer' ,$adminContainer); $configChef = new Zend_Config_Xml('../application/configs/chefprojetNavigation.xml', 'navChef'); $chefContainer = new Zend_Navigation($configChef); Zend_Registry::set('chefContainer' ,$chefContainer); }
exemple pour l'espace admin :
dans tous les controleurs dont le menu doit etre affiché :
public function preDispatch() { $adminContainer = Zend_Registry::get('adminContainer'); $this->view->navigation($adminContainer); }
logiquement, maintenant j'ai dans mon objet view le menu,et je peux l'afficher dans mon script de vue :
<?php echo $this->navigation()->menu(); ?>
et puisque j'ai plusieurs lignes communes dans l'espace admin a part l'affichage du menu ,je cree un autre layout (sub layout) et la fonction predispach devient :
public function preDispatch() { $adminContainer = Zend_Registry::get('adminContainer'); $this->view->navigation($adminContainer); $this->_helper->layout->setLayout('admin'); }
c'est peu etre loin d'etre la plus bonne solution , mais c'est ce j'ai pu faire en tant que debutant ,
en esperant que ça pourra t'aider
je serai hors sujet mais je me permet de poser une petite question : menu() prend quoi comme argument ? comment tu fait pour creer tes menus , y a il un lien expliquant ça en details , merci
Dernière modification par oswalidos (28-08-2009 16:17:24)
Hors ligne
Merci pour ta réponse oswalidos, je vais regarder voir si ton principe est adaptable à ma façon de faire car pour ma part je n'utilise pas de fichier xml comme toi mais un viewhelper.
voici un topic sur lequel je me suis basé pour le créer tu trouvera pas mal de petites infos
http://www.z-f.fr/forum/viewtopic.php?pid=16975
oswalidos a écrit:
c'est peu etre loin d'etre la plus bonne solution , mais c'est ce j'ai pu faire en tant que debutant
comme me le répéter souvent mon vieux maitre "Il n'y a pas de bonne ou de mauvaise solution, il n'y a que des méthodes différentes"
Hors ligne
matdev a écrit:
Merci pour ta réponse oswalidos, je vais regarder voir si ton principe est adaptable à ma façon de faire car pour ma part je n'utilise pas de fichier xml comme toi mais un viewhelper.
mais c'est la meme chose, moi je donne au constructeur de zend_navigation un objet de configuration(un fichier xml parsé) , toi tu donne un array . c'est forcement adaptable ,le principe est le meme : mettre l'objet de navigation (menu) dans le registre(dans le bootstrap) l'assigné a la vue dans les controleurs qui doivent afficher ce menu .
Hors ligne
désolé de répondre aussi tardivement mais j'ai eu d'autres petites tâches à passer cette semaine :p
finalement je vais faire simple, au lieu de placer mon code dans mon layout, je vais le mettre dans les vues ou mon menu doit apparraitre.
merci quand même pour tes explications oswalidos
Hors ligne
Pages: 1