Zend navigation and Zend ACL?

Joey, good documentation on this can be hard to find, but it exists. What you need to do, in your application's bootstrap is two things: Initialise your ACL's Link them to your navigation object In my bootstraps, I use the functions similar to the following to do this. Here's examples of the key aspects: Generating the ACL's: protected function _buildAclList() { $acl = new Zend_Acl(); // setup the roles for the application $acl->addRole(new Zend_Acl_Role('guest')); $moduleResource = new Zend_Acl_Resource('administration'); $acl->add($moduleResource) ->add(new Zend_Acl_Resource('admin:copyright'), $moduleResource); $acl->allow( array('guest'), array('admin:copyright'), array('view') ); Zend_Registry::set('acl', $acl); return $acl; } Here, the ACL's are setup as needed for your application.

The resource method returns them for use if needed elsewhere and they're also stored in the registry. Linking the navigation to the generated ACL's (also specifies a default role): protected function _buildNavigationList() { $this->bootstrap('layout'); $layout = $this->getResource('layout'); $view = $layout->getView(); $config = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.

Xml', 'nav'); $acl = Zend_Registry::get('acl'); $navigation = new Zend_Navigation($config); $view->navigation($navigation); Zend_View_Helper_Navigation_HelperAbstract::setDefaultAcl($acl); Zend_View_Helper_Navigation_HelperAbstract::setDefaultRole( Common_Controller_Plugin_Acl::DEFAULT_ROLE ); return $navigation; } The resource method picks up the previously created acl's from the registry and uses the setDefaultAcl method to assign them to the application navigation object along with the default role. Build navigation that respects ACLs Administration reports:report view Copyright maintenance /admin/copyright admin:copyright view Here, we've created a section called administration that requires the user to have the view privilege on the admin:copyright resource, which guest does thanks to the pre-built acl list. Now, when you call $this->navigation()->menu()->render() etc, the menu options will be based on the access of the user.

Hmmm, I think I should add a post to this on my site. All the best with it. Matt.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions