2009-12-01 8 views
3

Je suis toujours relativement nouveau dans Zend Framework, alors s'il vous plaît, pardonnez-moi si c'est une question stupide! J'utilise l'assistant d'affichage de fil d'Ariane dans la disposition principale de mon application pour fournir la fonctionnalité de fil d'Ariane habituelle. Cependant, j'ai vraiment besoin du fil d'Ariane pour contenir les paramètres passés aux actions sur lesquelles l'utilisateur a cliqué ...Passer les paramètres dans les fil d'Ariane

Donc si vous cliquez à partir de "/ controller/parent/id/1" sur "/ controller/child/id/2 "le fil d'Ariane sur la page enfant doit renvoyer à"/controller/parent/id/1 "plutôt que simplement"/controller/parent/"

Quelles sont mes options? Ai-je besoin de construire mon arborescence Zend_Navigation avec tout le contenu de ma base de données, afin que tous les ID possibles pour chaque action soient pris en compte? Ou puis-je écrire mon propre assistant pour ajouter les paramètres supplémentaires à l'objet Zend_Navigation_Page lorsque les fils d'Ariane sont rendus?

La première option semble être le chemin de moindre résistance, mais se sent très inefficace! Bien que, je suppose que cela pourrait être fait avec un chargement paresseux pour réduire l'utilisation de la mémoire.

Merci pour toute aide!

Tom

Répondre

2

Je pense que la réponse est d'utiliser les reset_params dans votre navigation.xml

l'intérieur de votre page vous devez définir reset_params = 0 comme ceci:

<reset_params>0</reset_params> 

Voir: http://framework.zend.com/manual/en/zend.navigation.pages.html Par exemple sur notre application nous utilisons quelque chose comme ceci:

<config> 
<nav> 
    <fsms> 
     <label>Home</label> 
     <module>default</module> 
     <controller>index</controller> 
     <action>index</action> 
     <pages> 
      <!-- Cases --> 
      <page_case> 
       <label>Case</label> 
       <module>case</module> 
       <controller>details</controller> 
       <action>index</action> 
       <reset_params>0</reset_params> 
       <pages> 
        <!-- Case Creation --> 
        <page_case_create> 
         <label>Creation</label> 
         <module>case</module> 
         <controller>create</controller> 
         <action>index</action> 
        </page_case_create> 
       </pages> 
      </page_case> 
     </pages> 
    </fsms> 
</nav> 

Questions connexes