Je dispose d'un fichier navigation.xml
:Zend Navigation - divers blocs de navigation
<?xml version="1.0" encoding="UTF-8"?>
<config>
<nav>
<programm_nav>
<label></label>
<uri>#</uri>
<pages>
<all>
<label>test1</label>
<resource>default:programme</resource>
<module>default</module>
<controller>programme</controller>
<action>list</action>
<privilege>index</privilege>
</all>
</pages>
</programm_nav>
<acc_nav>
<label></label>
<uri>#</uri>
<pages>
<ueb>
<label>test2</label>
<resource>default:account</resource>
<module>default</module>
<controller>account</controller>
<action>index</action>
<privilege>index</privilege>
</ueb>
</pages>
</acc_nav>
</nav>
</config>
Ce fichier de configuration définit deux zones de navigation, un programm_nav et l'autre acc_nav.
Dans mon bootstrap je fais ce qui suit:
$navContainerConfig = new Zend_Config_Xml (APPLICATION_PATH .
'/configs/navigation.xml', 'nav');
$navContainer = new Zend_Navigation ($navContainerConfig);
$view->navigation ($navContainer)->setAcl ($this->_acl)
->setRole (Zend_Registry::get ('role'));
À mon avis, j'afficher la navigation:
$navSec = $this->navigation()->findOneByLabel ('acc_nav');
echo $this->navigation()->menu()->renderMenu ($navSec);
Mais peu importe comment je définis $navSec
j'affiche toujours programm_nav
et jamais une autre boîte. acc_nav
n'est jamais affiché.
Une idée?
merci, cela m'a aidé :) –