Ошибка Zend_Navigation при попытке отобразить меню («Неизвестный метод навигации-> menu ()») - PullRequest
0 голосов
/ 29 ноября 2011

У меня другая проблема с Зендом. Я пытаюсь заставить Zend_Naviation работать, это кажется довольно простым, но независимо от того, как я его реализую, я получаю ту же ошибку:

Zend_Navigation_Exception: Bad method call: Unknown method Zend_Navigation::menu in C:\wamp\www\ehu\library\Zend\Navigation\Container.php on line 358

Я знаю, что есть метод "меню", я видел, как он работал много раз.

Я пытаюсь отобразить это меню в макете, я пытался использовать View Helper для подготовки навигации в PHP, а также файл конфигурации XML, инициализированный в начальной загрузке (как показано ниже), но ни один из них не работал.

protected function _initNavigation() 
{

        $this->bootstrap("layout");
        $layout = $this->getResource('layout');
        $view = $layout->getView();

        $config = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml','nav');
        $navigation = new Zend_Navigation($config);

        $view->navigation($navigation);

}

РЕДАКТИРОВАТЬ ОК, теперь я знаю, в чем проблема - для моей веб-страницы я не использую layout.phtml по умолчанию, а page.html. Как изменить приведенный выше код, чтобы меню работало в page.phtml? Кажется, он работает нормально в файле layout.phtml

по умолчанию.

1 Ответ

0 голосов
/ 10 февраля 2012

Вы должны установить альтернативный макет, который хотите использовать

 $layout = $this->getResource('layout');
 $layout-setLayout('page'); // here you change the layout to use your page.phtml
 $view = $layout->getView();

Более подробную информацию вы найдете в Использование Zend_Layout с Zend Framework MVC

...