Zend framework2 ZF2-带导航的多导航
有可能有两种不同的导航方式吗 例如:Zend framework2 ZF2-带导航的多导航,zend-framework2,Zend Framework2,有可能有两种不同的导航方式吗 例如: //in module.config.php 'service_manager'=>array( 'factories'=>array( 'navigation1'=>'Zend\Navigation\Service\DefaultNavigationFactory', 'navigation2'=>'Zend\Navigation\Service\DefaultNavi
//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);?>
//在module.config.php中
“服务管理器”=>阵列(
“工厂”=>数组(
'navigation1'=>'Zend\Navigation\Service\DefaultNavigationFactory',
'navigation2'=>'Zend\Navigation\Service\DefaultNavigationFactory',
),
),
“导航”=>数组(
“导航1”=>数组(
“home”=>array('type'=>'mvc','route'=>'home','active'=>false,'label'=>'home','title'=>'home',
“页面”=>数组(
“联系人”=>数组('type'=>'mvc'、'route'=>'contact'、'active'=>false、'label'=>'contact'、'title'=>'contact'),
)
),
),
“导航2”=>数组(
“home”=>array('type'=>'mvc','route'=>'home','active'=>false,'label'=>'home','title'=>'home',
'contact'=>array('type'=>'mvc','route'=>'faq','active'=>false,'label'=>'faq','title'=>'faq'),
),
),
//丹斯劳特
我想2个不同的菜单,不同的页面,但这个方法不运行
每个人都有一个想法好吗
谢谢
Birzat您需要为每个导航组提供一个自定义的factory类。例如,请参见ZfcAdmin如何做到这一点:
<?php
namespace ZfcAdmin\Navigation\Service;
use Zend\Navigation\Service\DefaultNavigationFactory;
class AdminNavigationFactory extends DefaultNavigationFactory
{
protected function getName()
{
return 'admin';
}
}
资料来源:getName
方法中指定的键下,在模块配置中定义导航树。例如,ZfcUserAdmin将自身添加到ZfcAdmin菜单中:
'navigation' => array(
'admin' => array(
'zfcuseradmin' => array(
'label' => 'Users',
'route' => 'zfcadmin/zfcuseradmin/list',
'pages' => array(
'create' => array(
'label' => 'New User',
'route' => 'admin/create',
),
),
),
),
),
资料来源:/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';
}
}
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',
),
),
),
);
/config/autoload/global.php
namespace MyNamespace\Navigation\Service;
use Zend\Navigation\Service\DefaultNavigationFactory;
class SecondaryNavigationFactory extends DefaultNavigationFactory {
protected function getName() {
return 'secondary';
}
}
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(); ?>