Как назначить Zend_Navigator для представления? - PullRequest
0 голосов
/ 09 ноября 2010

Я пытался использовать Zend_Registry, но он ничего не выводил, тогда я попробовал это в моем загрузочном модуле по умолчанию

public function _initNavigation()
{
    $this->bootstrap('layout');
    $layout = $this->getResource('layout');
    $view = $layout->getView();        

Но он говорит 'Resource matching "layout" not found'.Поскольку у меня есть два модуля, и я уже использую Zend_Navigation в модуле администратора, я не знаю, как покончить с этим

Ответы [ 2 ]

0 голосов
/ 09 ноября 2010

Сначала необходимо создать ресурс макета.

Вот как я это сделал:

  $navigation = new Zend_Config_Xml(APPLICATION_PATH.'/configs/navigation.xml','nav');
                $navContainer = new Zend_Navigation($navigation);
                $this->_view->navigation($navContainer);
0 голосов
/ 09 ноября 2010
$container = new Zend_Navigation(
    Zend_Registry::get('configuration')->navigation
);
$actionController->view->navigation($container);

Этого должно быть достаточно.

В конфигурационном INI-файле у вас может быть что-то вроде:

;NAVIGATION
navigation.index.label = Index
navigation.index.module = index
navigation.index.controller = index
navigation.index.action = index
navigation.page1.label = Page 1
navigation.page1.module = index
navigation.page1.controller = pages
navigation.page1.action = page-1
...