I would like to make navigation with Zend_Navigation based on Zend_Acl below is a piece of my navigation.xml file located in /application/configs dir
<?xml version="1.0" encoding="UTF-8"?>
<config>
<nav>
<menu1>
<label>solidData</label>
<uri>#</uri>
<pages>
<service>
<label>menuLabel1</label>
<controller>service</controller>
<action>index</action>
<resource>service</resource>
<privilege>index</privilege>
</service>
<attendance>
<label>menuLabel2</label>
<controller>attendance</controller>
<action>index</action>
<resource>attendance</resource>
<privilege>index</privilege>
</attendance>
</pages>
</menu1>
<menu2>
<label>systemData</label>
<uri>#</uri>
<pages>
<users>
<label>users</label>
<controller>users</controller>
<action>index</action>
<resource>users</resource>
<privilege>index</privilege>
</users>
<profile>
<label>profiles</label>
<controller>profile</controller>
<action>index</action>
<resource>profile</resource>
<privilege>index</privilege>
</profile>
<dictionary>
<label>dictionary</label>
<controller>dictionary</controller>
<action>index</action>
<resource>dictionary</resource>
<privilege>index</privilege>
</dictionary>
<language>
<label>languages</label>
<controller>language</controller>
<action>index</action>
<resource>language</resource>
<privilege>index</privilege>
</language>
</pages>
</menu2>
</nav>
</config>
I dont want to show section which all pages are deny in ACL.
For example if there is user which has TYPE_DENY in ACL for all pages resource and privilege of <menu1>
I dont want to create and display label "solidData"
The main problem is structure of my menu, because as you see I have various resources in one menu section.
I've try with my own Navigation class extending Zend_Navigation with function isVisible()" and "isActive()" but I cant find solution.
I'll be grateful for any help
[edit] Look at this fragment structure of my menu:
<menu2>
<label>systemData</label>
<uri>#</uri>
<pages>
<users>
<label>users</label>
<controller>users</controller>
<action>index</action>
<resource>users</resource>
<privilege>index</privilege>
</users>
<profile>
<label>profiles</label>
<controller>profile</controller>
<action>index</action>
<resource>profile</resource>
<privilege>index</privilege>
</profile>
</pages>
</menu2>
I cant <resource>
to <menu2>
because <menu2>
include pages with different resources f.e. 'users' and 'profile'.
maybe there is some possibility to add many resources to one menu. I try something like that:
<menu2>
<label>systemData</label>
<uri>#</uri>
<resource>users</resource>
<resource>profile</resource>
<pages>
...
</pages>
</menu2>
but i get
Invalid argument: $resource must be null, a string, or an instance of Zend_Acl_Resource_Interface
EDIT
Ok, but if I change a structure of menu I also have to change ACL. In my ACL resource is Controller the privilege is Action in contoller.