通常我在 Zend_Navigation 的 configs 文件夹中有一个导航文件 menu.xml。
现在,当我把它放在 modules/module-name/configs/ 中时,我得到了错误:
在 /blah/blah/blah/menu.xml 中找不到“生产”部分。
我知道 [production] 是配置 ini 文件的部分,我是否也需要它在 xml 中?我错过了一些非常明显的东西吗?我如何在模块目录中有导航 xml 文件(以保持模块独立)?
通常我在 Zend_Navigation 的 configs 文件夹中有一个导航文件 menu.xml。
现在,当我把它放在 modules/module-name/configs/ 中时,我得到了错误:
在 /blah/blah/blah/menu.xml 中找不到“生产”部分。
我知道 [production] 是配置 ini 文件的部分,我是否也需要它在 xml 中?我错过了一些非常明显的东西吗?我如何在模块目录中有导航 xml 文件(以保持模块独立)?
好的,这是我必须做的才能让它工作。一切都基于试验/错误,我不知道为什么它必须是这种方式而不是“正常”方式的基本机制(就像它在没有模块的情况下工作一样)。
该文件必须有一个生产节点,并且必须在模块的 Bootstrap.php 中用于 Zend_Navigation 的配置:
$config = new Zend_Config_Xml( APPLICATION_PATH . '/modules/default/configs/navigation.xml', 'production' );
$container = new Zend_Navigation( $config );
XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<configdata>
<production>
<page1>
<label>My page 1</label>
<controller>page</controller>
<action>index</action>
</page1>
<!-- more pages here -->
</production>
</configdata>
我不知道为什么必须这样(或者是否有可能以任何其他方式)所以如果你在评论中告诉它,如果你知道的话,我将不胜感激;)