我正在开发一个健康信息系统。这是我在Yii2的第一个项目。但是,我在某些方面遇到了麻烦。我想要在导航栏上显示菜单项取决于谁登录。例如,如果医生登录,我只想要与他相关的菜单项显示,护士,药剂师等的情况相同。认为这可以在布局中的main.php文件中的以下代码段中实现,但我不知道如何。请帮忙。
$menuItems = [
['label' => 'Home', 'url' => ['/site/index']],
];
if (Yii::$app->user->isGuest) {
$menuItems[] = ['label' => 'Login', 'url' => ['/site/login']];
} else {
$menuItems[] = '<li>'
. Html::beginForm(['/site/logout'], 'post')
. Html::submitButton(
'Logout (' . Yii::$app->user->identity->username . ')',
['class' => 'btn btn-link']
)
. Html::endForm()
. '</li>';
}
答案 0 :(得分:0)
您需要了解RBAC,http://www.yiiframework.com/doc-2.0/guide-security-authorization.html#rbac
为每种类型的用户创建一个角色,并过滤掉该菜单。
var x = [];
x.push("<p class='test'>one</p>");
x.push("<p class='test'>two</p>");
x.push("<p class='test'>three</p>");
x.push("<p class='test'>four</p>");
alert(x.length); // 4
x.push("<p class='test'>five</p>");
alert(x.length); // 5