module.config的导航定义如下
'navigation' => array(
'default' => array(
array(
'label' => 'Home',
'route' => 'home',
),
array(
'label' => 'Report',
'route' => 'report',
array(
'label' => 'Logout',
'route' => 'logout',
),
),
),
在我的布局.phtml
<?php
echo $this->navigation('navigation')->menu()->renderMenu(
$container = null,
$options = array(
'ulClass' => 'nav navbar-nav',
'indent' => 16,
)
);
?>
如果未设置标识,如何在module.config中的导航中隐藏注销?
现在,无论登录与否,我都可以看到注销,如何通过导航来限制?
如果用户未登录,则可以从导航中删除注销url。
尝试:
//Module.php
public function onBootstrap(MvcEvent $e)
{
$application = $e->getApplication();
$sm = $application->getServiceManager();
if (user not login) {
$container = $sm->get('navigation');
$logoutPage = $container->findBy('route' , 'logout');
$container->removePage($logoutPage);
}
}
参考