尝试渲染菜单时出现Zend_Navigation错误(“未知方法导航 - > menu()”)

时间:2011-11-29 16:59:49

标签: zend-framework layout menu rendering zend-navigation

我和Zend有另一个问题。我试图让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中的导航以及在bootstrap中初始化的配置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 :(得分:0)

您必须设置要使用的替代布局

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

您可以在Using Zend_Layout with the Zend Framework MVC

下找到更多信息