Zend:使用Zend_Config_Xml和Zend_Navigation创建痕迹导航

时间:2009-12-17 03:40:52

标签: zend-framework zend-navigation

我遇到了问题,在Zend_Navigation的实例上调用Zend_Config_Xml时会抛出异常。

这是它失败的方法(Bootstrap.php):

protected function _initNavigation() {
$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 ); // exception is thrown here
$view->navigation( $navigation );
}

正在解析的XML文件完全是示例37.11 @ http://framework.zend.com/manual/en/zend.navigation.containers.html

的副本

抛出错误:

  • 致命错误:未捕获异常'Zend_Navigation_Exception',消息'无效参数:无法确定要实例化的类'/usr/share/php/Zend/Navigation/Page.php:223堆栈跟踪:#0 / usr / share /php/Zend/Navigation/Container.php(117):Zend_Navigation_Page :: factory(Array)#1 /usr/share/php/Zend/Navigation/Container.php(164):Zend_Navigation_Container-> addPage(Array)# 2 /usr/share/php/Zend/Navigation.php(46):Zend_Navigation_Container-> addPages(Object(Zend_Config_Xml))#3 /www / padilla / application / Bootstrap.php(50):Zend_Navigation-> __ construct(对象(Zend_Config_Xml))#4 /usr/share/php/Zend/Application/Bootstrap/BootstrapAbstract.php(662):Bootstrap-> _initNavigation()#5 / usr / share / php / Zend / Application / Bootstrap / BootstrapAbstract .php(615):Zend_Application_Bootstrap_BootstrapAbstract-> _executeResource('navigation')#6 /usr/share/php/Zend/Application/Bootstrap/BootstrapAbstract.php(579):Zend_Application_Bootstrap_BootstrapAbstract-> _bootstrap(NULL)#7 / usr / share / php / Zend / Application.php(347):第223行/usr/share/php/Zend/Navigation/Page.php中的Zend_Application_B

也许我错过了什么,或者xml结构需要改变/定制?

1 个答案:

答案 0 :(得分:4)

您的实例化Zend_Config_Xml与示例不同。您忘了将该部分指定为第二个参数。

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

如果你在那里添加, 'nav'位,那么假设你的xml与链接中的xml完全一样,它应该可以工作。