我试图在我的 ZF2 应用程序中只渲染菜单配置的一部分。我找不到任何关于如何做到这一点的信息。
我的配置是:
array(
'default' => array(
'dashbord' => array(
'label' => 'Dashbord',
'route' => 'nav',
),
'settings' => array(
'label' => 'Settings',
'route' => 'nav',
'pages' => array(
'Api Settings' => array(
'label'=>'NAV_API_SETTINGS',
'route'=>'nav'
),
),
),
'NEW' =>array(
'dashboard' => array(
'label' => 'dashboard',
'route' => 'nav',
)
)
);
所以我有默认的子集和新的。我只需要渲染菜单的子集"NEW"。我该怎么做?
在某个模块中.php或者您创建导航的位置,假设您给定的配置存储在$config
中,并且您可以访问$serviceManager
中的ServiceManager
$navigation = new ZendNavigationNavigation($config['NEW']);
$serviceManager->setService('new_navigation', $navigation);
在视图/布局中
<?php echo $this->navigation()->menu('new_navigation') ?>
PS:在任何模块中.php你可以得到这样的服务管理器:
public function onBootstrap(ZendEventManagerEventInterface $e)
{
$application = $e->getApplication();
$serviceManager = $application->getServiceManager();
}