有可能有两种不同的导航方式吗?
例如:
//in module.config.php
'service_manager'=>array(
'factories'=>array(
'navigation1'=>'Zend\Navigation\Service\DefaultNavigationFactory',
'navigation2'=>'Zend\Navigation\Service\DefaultNavigationFactory',
),
),
'navigation'=>array(
'navigation1'=>array(
'home'=>array('type' => 'mvc','route' => 'home','active'=>false,'label' => 'Home','title' => 'Home',
'pages'=>array(
'contact'=>array('type' => 'mvc','route'=>'contact','active'=>false,'label'=>'Contact','title' =>'Contact'),
)
),
),
'navigation2'=>array(
'home'=>array('type'=>'mvc','route'=>'home','active'=>false,'label'=>'Home','title'=>'Home',
'contact'=>array('type'=>'mvc','route'=>'faq','active'=>false,'label'=>'Faq','title'=>'Faq'),
),
),
//Dans laout
<?php echo $this->navigation()->menu('navigation1')->setMinDepth(0);?>
<hr />
<?php echo $this->navigation()->menu('navigation2')->setMinDepth(0);?>我想要两个不同的菜单与不同的页面,但这个方法不运行。
每个人都有自己的想法?
谢谢
伯扎特
发布于 2012-11-21 13:10:52
您需要为每个导航组提供一个自定义工厂类。例如,看看ZfcAdmin是如何做到这一点的:
getName方法中指定的键下定义导航树。例如,ZfcUserAdmin是如何将自己添加到ZfcAdmin菜单中的:
‘导航’=>数组(‘=>’=>数组(‘zfcadmin’=>数组(‘标签’=>‘用户’)、‘路由’‘=>’zfcadmin/列表‘、'pages’=>数组(‘创建’=>数组‘(’标签‘=>’新用户‘、’路由‘=>’管理/创建‘),)、)、)、
来源:https://github.com/Danielss89/ZfcUserAdmin/blob/master/config/module.config.php发布于 2013-04-11 20:20:45
/vendor/MyNamespace/library/MyNamespace/Navigation/Service/SecondaryNavigationFactory.php
namespace MyNamespace\Navigation\Service;
use Zend\Navigation\Service\DefaultNavigationFactory;
class SecondaryNavigationFactory extends DefaultNavigationFactory {
protected function getName() {
return 'secondary';
}
}/config/autoload/global.php
return array(
'service_manager' => array(
'factories' => array(
'navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory',
'secondary' => 'MyNamespace\Navigation\Service\SecondaryNavigationFactory',
),
),
'navigation' => array(
'default' => array(
array(
'label' => 'Item-1.1',
'route' => 'foo',
),
array(
'label' => 'Item-1.2',
'route' => 'bar',
),
),
'secondary' => array(
array(
'label' => 'Item-2',
'route' => 'baz',
),
),
),
);/module/Application/view/layout/layout.phtml
<?php echo $this->navigation('navigation')->menu(); ?>
<?php echo $this->navigation('secondary')->menu(); ?>https://stackoverflow.com/questions/13477412
复制相似问题