Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 21-08-2009 11:19:45

matdev
Membre
Date d'inscription: 31-03-2009
Messages: 172

[RESOLU]Retirer mon menu pour certain controller

Bonjour à tous

Voilà dans mon layout je fait l'appelle à mon menu de la manière suivante :

Code:

<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

 

#2 24-08-2009 09:45:38

matdev
Membre
Date d'inscription: 31-03-2009
Messages: 172

Re: [RESOLU]Retirer mon menu pour certain controller

Personne n'as une petite idée ???

Hors ligne

 

#3 24-08-2009 18:02:22

oswalidos
Membre
Date d'inscription: 12-07-2009
Messages: 39

Re: [RESOLU]Retirer mon menu pour certain controller

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 :

Code:

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é :

Code:

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 :

Code:

<?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 :

Code:

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 smile

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 smile

Dernière modification par oswalidos (28-08-2009 16:17:24)

Hors ligne

 

#4 25-08-2009 08:40:16

matdev
Membre
Date d'inscription: 31-03-2009
Messages: 172

Re: [RESOLU]Retirer mon menu pour certain controller

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" wink

Hors ligne

 

#5 25-08-2009 16:24:38

oswalidos
Membre
Date d'inscription: 12-07-2009
Messages: 39

Re: [RESOLU]Retirer mon menu pour certain controller

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

 

#6 28-08-2009 09:35:25

matdev
Membre
Date d'inscription: 31-03-2009
Messages: 172

Re: [RESOLU]Retirer mon menu pour certain controller

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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages