Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
hello,
j'utilise un fichier xml pour décrire mon menu (sous menu qui varie suivant le controller (liste des actions par exemples)) ainsi que ma barre de navigation (vous êtres ici : test> edition par exemple). Cependant, j'aimerais savoir s'il y a moyen sans ajouter d'éléments a mon sous-menu tout en "remplissant" la barre de navigation..
Exemple
j'ai ceci :
lien "section A" lorsque je clique dessus, la page se charge et un menu en relation avec "section A apparait".
Liste des A
sous section A.1
sous section A.2
sous section A.3
sous section A.4
Dans ma barre de navigation j'ai : "section A"
Lorsque je clique sur "liste des A" :
barre de navigation : "section A > liste des A"
sous menu : "rien"
Dans la page liste des A j'ai des lien affichant une fiche descriptive.
Lorsque je clique sur cette fiche j'aimerai que dans la barre de navigation il y ai "section A > liste des A > fiche" (ou mieux : fiche de élément 28) mais sans rien dans le menu ...
des idées?
Hors ligne
J'ai du mal à comprendre ta question.
Tu peux mettre une page dans ton fichier XML sans que celle-ci ne soit afficher dans ton menu avec :
<my_activities_ads_publish> <label>Publier une nouvelle annonce</label> <id>ads_publication</id> <route>default</route> <module>activities</module> <controller>ads</controller> <action>publish</action> <visible>0</visible> <== ici à 0 </my_activities_ads_publish>
pour activer la page, tu fais ça depuis ton controller :
$container = $this->view->navigation()->getContainer(); $page = $container->findById('ads_publication'); $page->setActive(true)->setVisible(true);
avec ça tu peut rendre ton menu un peu plus dynamique. Tu peux aussi rajouter des pages à la volé avec :
// Adding a navigation page for breadcrumbs $container = $this->view->navigation()->getContainer(); $parent = $container->findById('ads_publication'); $parent->addPage(array( 'label' => $objet->name, 'params' => array('id'=>$objet->id), 'action' => 'my_action', 'controller' => 'my_controller', 'module' => 'my_module', 'active' => true, 'visible' => true ));
Est-ce que cela te suffit ?
++
Hors ligne
merci le visible et le id je connaissait pas... c'est typiquement ce qu'il me fallait.
edit :
-----
j'ai parlé trop vite ...
pour clarifier les choses, ce que j'appelle barre de navigation il s'agit du "breadcrumbs".
Donc en gros j'aimerais que dans la barre de navigation un élément s'affiche mais pas dans le menu.
Maintenant en relisant un peu la doc j'ai vu qu'il y avait moyen d'ajouter des class css donc je pense que je vais finir par passer par là pour cacher l'élément ...
Dernière modification par Grummfy (09-03-2011 14:01:25)
Hors ligne
alors il te faut rajouter cet élément à la volée avec la fonction addPage() (mon troisième exemple). Tu peux après limiter la profondeur de ton menu pour ne pas afficher les sous-pages :
<?php echo $this->navigation() ->menu() ->renderMenu(NULL, array('minDepth' => 0, 'maxDepth' => 1, 'ulClass' => 'level1')); ?>
plus je vois pas comme ça
bonne chance !
Hors ligne
Pages: 1