Zend Navigation частично с ACL не работает - PullRequest
1 голос
/ 04 января 2012

У меня проблемы с навигацией и acl, говоря, что разрешения в меню не соблюдаются. У меня есть XML-файл конфигурации с меню. В моей начальной загрузке я инициализирую меню следующим образом:

    protected function _initNavigationXml() {
    $this->bootstrap('layout');
    $layout = $this->getResource('layout');
    $view = $layout->getView();
    $config = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml');

    $navigation = new Zend_Navigation($config);
    $view->navigation($navigation)->setAcl($this->_acl)->setRole($this->_auth->getIdentity()->role);
}

Из-за особого формата меню я должен отобразить его в частичном файле phtml, например:

<?php
$partial = array('sidemenu.phtml', 'default');
$this->navigation()->menu()->setPartial($partial);
echo $this->navigation()->menu()->renderPartial();
?>

Меню хорошо показывает, но ресурсы не соблюдаются.

Добавление следующего

echo $this->navigation()->menu()->renderMenu();

перед $ частичным, меню корректно и ресурсы соблюдаются.

Любая помощь или дополнительные вопросы будут оценены;)
Привет
Andrea

1 Ответ

2 голосов
/ 04 января 2012

Метод renderMenu() включает в себя код, чтобы проверить, видна ли страница при заданных вами разрешениях ACL.Насколько я вижу, если вы используете renderPartial(), вам придется самостоятельно проверять ACL.

...