Ahh, I did not realize there was a Zend_View_Helper_Navigation. Thus when I instantiate my Acl class it in the bootstrap it loads Zend_View_Helper_Navigation from the library/Zend folder, while in my layout script it is loading from my application/views/helpers folder. Since I prefix my custom view helpers with Zend_View_Helper and throw them into the /helpers directory, it works in the view, but in the bootstrap, only the library/Zend folder is being searched.
How should I get around this? Or would it just be best to rename *my*Navigation view helper? Also, and perhpas more importantly, how can an Acl class even know about what is in the application/views/helpers folder??? Hmm. Nice catch Ralph. Thanks. J On Tue, Jul 14, 2009 at 5:41 PM, Ralph Schindler <[email protected]>wrote: > Hmm, are you sure that you are loading the correct object? Where is this > code located? I notice that it implements Zend_Acl_Resource_Interface, but > there is already a class called Zend_View_Helper_Navigation being loaded by > the framework already right? > > Where is your custom code being stored? > > -ralph > > > J DeBord wrote: > >> I'm experimenting with Zend_Acl and even though what I am doing may not be >> the best way to go about hiding/displaying navigation, the error message >> below does not appear to be correct:* >> >> Catchable fatal error*: Argument 1 passed to Zend_Acl::add() must >> implement interface Zend_Acl_Resource_Interface, instance of >> Zend_View_Helper_Navigation given >> >> As you can see, Zend_View_Helper_Navigation does indeed implement >> Zend_Acl_Resource_Interface >> >> What do you guys think? >> >> <?php >> >> class Zend_View_Helper_Navigation extends Zend_View_Helper_Abstract >> implements Zend_Acl_Resource_Interface { >> protected $resourceId = 'navigation'; >> public function navigation() { >> return $this->view->partial('navigation.phtml', array()); >> } >> /** >> * (non-PHPdoc) >> * @see >> library/Zend/Acl/Resource/Zend_Acl_Resource_Interface#getResourceId() >> */ >> public function getResourceId() { >> return $this->_resourceId; >> } >> >> } >> >
