Dynamic 如何将动态和静态导航与zend framework 2混合使用
我在zend framework 2中有一个项目,它有一个默认的导航,与acl连接,并具有来自不同模块的配置更正集(静态) 我希望这个模块中的一个可以动态地向导航添加页面 对于这个模块,我有module.config.ing的这个部分Dynamic 如何将动态和静态导航与zend framework 2混合使用,dynamic,static,navigation,zend-framework2,Dynamic,Static,Navigation,Zend Framework2,我在zend framework 2中有一个项目,它有一个默认的导航,与acl连接,并具有来自不同模块的配置更正集(静态) 我希望这个模块中的一个可以动态地向导航添加页面 对于这个模块,我有module.config.ing的这个部分 'navigation' => array( 'default' => array( array( 'id' => 'page-1', 'label' => 'Page
'navigation' => array(
'default' => array(
array(
'id' => 'page-1',
'label' => 'Page',
'route' => 'page',
'resource' => 'page',
'privilege' => 'view',
'order' => 40
)
)
)
如何以及在何处向该页面添加子页面?我找到了这个解决方案,我不知道这是否是最好的方法,但它很有效。 在my Module.php中,我将:
public function init(ModuleManager $moduleManager) {
$events = $moduleManager->getEventManager();
$events->attach(ModuleEvent::EVENT_MERGE_CONFIG, array($this, 'onMergeConfig'));
}
public function onMergeConfig(ModuleEvent $e) {
$pages = array(
'id' => 'page-1',
'label' => 'Page',
'route' => 'page',
'resource' => 'page',
'privilege' => 'view',
'order' => 40
)
$configListener = $e->getConfigListener();
$config = $configListener->getMergedConfig(false);
// Modify the configuration; here, we'll remove a specific key:
$config['navigation']['default']['team']['pages'][] = $pages;
// Pass the changed configuration back to the listener:
$configListener->setMergedConfig($config);
}
现在,我只需要以友好的方式加载页面。
如果有人有更完整正确的答案,请写下来。如何?从数据库加载?是的,但这并不重要,我只需要一些代码,我想放在Module.php中,从service manager中获取navigator并将新页面放在该静态页面下。我已经在
getViewHelperConfig
中尝试过了,但是没有成功。“只是为了友好地加载页面”是为了乐观。我需要更多的帮助来做这件事。