Yii2中的可见性

时间:2016-06-13 07:41:56

标签: php yii2 visibility

我正在尝试使用菜单创建一个页面,该菜单对不同用户具有不同的可见性。我有3个用户:用户,版主和管理员。有人可以帮我解决这个问题。这是我的代码:

 echo Menu::widget([
    'items' => [
        ['label' => 'Acties', 'visible' => Yii::$app->user->getIdentity('user')],
        ['label' => 'Maak afbeeldingen aan', 'url' => ['create'], 'icon' => 'file', 'visible' => Yii::$app->user->getIdentity('moderator')],
        ['label' => 'Beheer afbeeldingen', 'url' => ['admin'], 'icon' => 'list-alt', 'visible' => Yii::$app->user->getIdentity('admin')],
    ],
]);

2 个答案:

答案 0 :(得分:1)

可见选项是布尔值。默认为true。

显示此Menu widget

还会显示getIdentity()

尝试以下代码

echo Menu::widget([
    'items' => [
      ['label' => 'Acties', 'visible' => Yii::$app->user->getIdentity('user') ? true : false],
      ['label' => 'Maak afbeeldingen aan', 'url' => ['create'], 'icon' => 'file', 'visible' => Yii::$app->user->getIdentity('moderator') ? true : false],
      ['label' => 'Beheer afbeeldingen', 'url' => ['admin'], 'icon' => 'list-alt', 'visible' => Yii::$app->user->getIdentity('admin') ? true : false],
    ],
]);   

答案 1 :(得分:0)

如果条件示例:

,请尝试正确
if(Yii::$app->user->getIdentity('moderator')){

 echo Menu::widget([
'items' => [

    ['label' => 'Maak afbeeldingen aan', 'url' => ['create'], 'icon' => 'file'],

],
]);
  }