在my module.config.php中分离子导航和顶级导航配置
使用zf2,我的一个模块的每页上都会出现一个subnav条。它使用视图辅助对象和局部(全部包含在模块中)进行渲染。模块从自己的module.config.php中提取配置:在my module.config.php中分离子导航和顶级导航配置,php,dependency-injection,zend-framework2,Php,Dependency Injection,Zend Framework2,使用zf2,我的一个模块的每页上都会出现一个subnav条。它使用视图辅助对象和局部(全部包含在模块中)进行渲染。模块从自己的module.config.php中提取配置: 'navigation' => array( 'default' => array( array( 'label' => 'aaa', 'route' => 'aaa', ), array(
'navigation' => array(
'default' => array(
array(
'label' => 'aaa',
'route' => 'aaa',
),
array(
'label' => 'bbb',
'route' => 'bbb',
),
array(
'label' => 'ccc',
'route' => 'ccc', ...
现在,我想为在应用程序模块中呈现的站点范围的导航栏添加一个配置。当然,问题是配置被合并了,所以我不能只在应用程序模块的module.config.php中添加一个“导航”键
什么时候处理这个问题最好?如何在service manager中存储和隔离模块特定的子AV和顶级nav
当然,问题是配置被合并了
为什么这是个问题
应用程序(module.config.php)
foodModule(module.config)
合并配置
'navigation' => array(
'default' => array(
// application pages...
),
'foo_nav' => array(
// foo pages...
),
'foo_module_specific_sidebar_name' = array(
// foo sidebar pages
)
),
ZF2使用
如果输入数组具有相同的字符串键,那么这些键的值将合并到一个数组中,并且这是递归完成的,因此如果其中一个值是数组本身,函数也会将其与另一个数组中的相应项合并
如果您没有复制导航名称,并且将配置放置在何处,那么这并不重要 如何访问其他配置?现在在如下$this->navbar('navigation')的视图中调用我的视图助手。如何在导航配置中传递嵌套数组?
'navigation' = array(
'foo_nav' => array(
// foo pages...
),
'foo_module_specific_sidebar_name' = array(
// foo sidebar pages
)
),
'navigation' => array(
'default' => array(
// application pages...
),
'foo_nav' => array(
// foo pages...
),
'foo_module_specific_sidebar_name' = array(
// foo sidebar pages
)
),