错误在Zend 2上创建多个导航

时间:2015-10-01 04:23:44

标签: php zend-framework zend-framework2

我使用模块应用程序

on module.config.php

...
    // Navigation
    'navigation' => array(
        'default' => array(
            array(
                'label' => 'Product Management',
                'route' => 'product',
            ),
        ),
        'outlet' => array(
            array(
                'label' => 'Outlet Management',
                'route' => 'outlet',
            ),
            array(
                'label' => 'Delivery Order',
                'route' => 'deliveryorder',
            ),
        ),
    ),
...

和layout.phtml

<?php 
echo $this->navigation('navigation')->menu()->setUlClass('nav navbar-nav');
echo $this->navigation('outlet_navigation')->menu()->setUlClass('nav navbar-nav'); 
?>

呼叫出口导航时出现错误。如何解决?

1 个答案:

答案 0 :(得分:1)

您需要为每个导航条目创建服务。

假设你有这个:

'service_manager' => array(
 'factories' => array(
     'navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory',
 ),
),  

您只能获得默认导航条目。

如果切换到抽象工厂:

'service_manager' => array(
    'abstract_factories' => array(
        'Zend\Navigation\Service\NavigationAbstractServiceFactory'
    ),
),

然后你可以这样做:

echo $this->navigation('Zend\Navigation\Default')->menu();
echo $this->navigation('Zend\Navigation\Outlet')->menu();