0

我遇到了一个问题,Zend_NavigationZend_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的副本

抛出的错误:

  • 致命错误:在 /usr/share/php/Zend/Navigation/Page.php:223 中未捕获的异常“Zend_Navigation_Exception”带有消息“无效参数:无法确定要实例化的类”堆栈跟踪:#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(Object(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('导航') #6 /usr/share/php/Zend/Application/Bootstrap/BootstrapAbstract.php(579): Zend_Application_Bootstrap_BootstrapAbstract->_bootstrap(NULL) #7 /usr/share/php/Zend/Application.php(347): Zend_Application_B 在 /usr/share/php/Zend/Navigation/Page.php 的第 223 行

也许我遗漏了一些东西,或者需要更改/自定义 xml 结构?

4

1 回答 1

4

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

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

如果您在此处添加该, 'nav'位,假设您的 xml 与链接中的完全相同,它应该可以工作。

于 2009-12-17T03:47:17.090 回答