Zend framework 模块中的Zend Framework menu.xml引发异常

Zend framework 模块中的Zend Framework menu.xml引发异常,zend-framework,zend-navigation,Zend Framework,Zend Navigation,通常我在configs文件夹中有一个导航文件menu.xml,用于Zend_导航 现在,当我把它放在modules/module name/configs/I中时,我得到一个错误: 在/blah/blah/blah/menu.xml中找不到“生产”部分 我知道[production]是配置ini文件的部分,我也需要xml格式的吗?我是不是错过了一些很明显的东西?我如何在模块目录中拥有导航xml文件(以保持模块独立)?好的,这就是我必须做的,以使其正常工作。一切都基于尝试/错误,我不知道为什么它必

通常我在configs文件夹中有一个导航文件menu.xml,用于Zend_导航

现在,当我把它放在modules/module name/configs/I中时,我得到一个错误:

在/blah/blah/blah/menu.xml中找不到“生产”部分


我知道[production]是配置ini文件的部分,我也需要xml格式的吗?我是不是错过了一些很明显的东西?我如何在模块目录中拥有导航xml文件(以保持模块独立)?

好的,这就是我必须做的,以使其正常工作。一切都基于尝试/错误,我不知道为什么它必须是这种方式而不是“正常”方式(就像它在没有模块的情况下工作一样)

该文件必须有一个生产节点,并且必须用于模块Bootstrap.php中Zend_导航的配置:

$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>

我的第1页
页
指数

我不知道为什么一定要这样(或者有没有其他方法),所以如果你知道的话,如果你能在评论中告诉我,我将不胜感激

从Zend_Config_Xml callI中删除“production”是不可能的,因为production是需要为菜单调用的节点。如果我重命名该节点,ZF会立即抱怨找不到“生产”节点(根据原始问题)。请注意,“缺少生产部分”错误出现在Zend_Config_Xml调用之前,可能ZF会事先解析它在Configs dir中找到的每个文件,以检查它们是否有“生产”部分。这很奇怪。我将导航部分定义为“nav”,它可以很好地处理这个调用:$config=new Zend_config_Xml(APPLICATION_PATH.'/configs/navigation.Xml','nav');只要Zend_Config_Xml函数中的第二个参数是节点的名称,就可以了。如果您将其传递为“production”,那么它将查找production,如果您将其传递为“foobar”,那么它将查找foobar。它也适用于我,只要它位于/configs中。只有当我将其设置为特定于模块,即/modules/admin/configs/navigation.xml时,才会发生上述胡言乱语。