我整个周末都在为 Zend_Navigation 苦苦挣扎,现在我遇到了另一个问题,我相信这是我很多问题的原因。
我正在尝试将 Zend_Navigation 添加到旧版 1.7.6 Zend Framework 应用程序中,我已将 Zend 库更新为 1.9.0 并更新了引导程序以允许此库更新。
问题是我不知道怎么做,示例显示了如何将 Navigation 对象添加到视图的新引导方法,我试过这个:
//initialise the application layouts with the MVC helpers
$layout = Zend_Layout::startMvc(array('layoutPath' => '../application/layouts'));
$view = $layout->getView();
$configNav = new Zend_Config_Xml('../application/config/navigation.xml', 'navigation');
$navigation = new Zend_Navigation($configNav);
$view->navigation($navigation);
$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
$viewRenderer->setView($view);
这似乎运行良好,但是当我在布局中使用面包屑视图助手时,它会出错:严格标准:从 C:\www\moobia\development\website\application\modules\ 中的空值创建默认对象雇主\控制器\IndexController.php 第 27 行
这是由我的控制器的 init() 函数中的以下代码引起的。
$uri = $this->_request->getPathInfo();
$activeNav = $this->view->navigation()->findByUri($uri); <- this is null when called
$activeNav->active = true;
我相信这是因为 Zend_Navigation 对象不在视图中。
我会考虑将引导程序迁移到当前方法,但目前我已经没有时间发布了。
谢谢,
授予