kay*_*der 5 php menu navbar yii2
在我main.php,我有一个菜单:
'items' => [
['label' => 'Home', 'url' => ['/site/index']],
['label' => 'Biz Staff', 'url' => ['bizstaff/index'], 'visible' => User::isBizAdmin(), 'items' => [
['label' => 'Staff List', 'url' => 'index.php?r=user/index'],
['label' => 'Add Staff', 'url' => 'index.php?r=user/create'],
]],
['label' => 'Transaction', 'url' => ['transactions/index'], 'visible' => User::isBizAdmin() || User::isBizStaff(), 'items' => [
['label' => 'Transactions', 'url' => 'index.php?r=transactions/index'],
['label' => 'Add Transactions', 'url' => 'index.php?r=transactions/create'],
]],
Yii::$app->user->isGuest ?
['label' => 'Login', 'url' => ['/site/login']] :
['label' => 'Logout (' . Yii::$app->user->identity->username . ')',
'url' => ['/site/logout'],
'linkOptions' => ['data-method' => 'post']
],
],
Run Code Online (Sandbox Code Playgroud)
在这里,我以superadmin身份登录(请注意,superadmin用户只能看到Home和Logout菜单).在主页(主菜单)内是一个放置在窗口小部件中的商务管理员列表.它有一个Action列,其中放置了视图,更新和删除图标.当我单击特定Biz Admin的视图图标时,它将呈现该Biz Admin的详细视图页面,其中显示其商店名称和员工列表.在此页面中,有一个View Store按钮,该按钮将重定向到视图/页面.GridViewbizadmin
每当superadmin登陆bizadmin视图/页面时,菜单栏现在应该更改为:
家,商务人员,交易,注销
我该怎么做呢?它是否在visible属性中设置?您的任何答案都将受到高度赞赏.我目前陷入了这个问题.
是的。你应该使用visible财产。'visible' => true或者'visible' => false。
或者你可以组装一个数组。像那样:
NavBar::begin([
'brandLabel' => 'My Company',
'brandUrl' => Yii::$app->homeUrl,
'options' => [
'class' => 'navbar-inverse navbar-fixed-top',
],
]);
$menuItems = [
['label' => 'Home', 'url' => ['/site/index']],
['label' => 'About', 'url' => ['/site/about']],
['label' => 'Contact', 'url' => ['/site/contact']],
];
if (Yii::$app->user->isGuest) {
$menuItems[] = ['label' => 'Signup', 'url' => ['/site/signup']];
$menuItems[] = ['label' => 'Login', 'url' => ['/site/login']];
} else {
$menuItems[] = [
'label' => 'Logout (' . Yii::$app->user->identity->username . ')',
'url' => ['/site/logout'],
'linkOptions' => ['data-method' => 'post']
];
}
echo Nav::widget([
'options' => ['class' => 'navbar-nav navbar-right'],
'items' => $menuItems,
]);
NavBar::end();
Run Code Online (Sandbox Code Playgroud)
请参阅高级模板 - https://github.com/yiisoft/yii2-app-advanced/blob/master/frontend/views/layouts/main.php