Yii2 中的可见性

Visibility in Yii2

我正在尝试创建一个带有菜单的页面,该菜单对不同的用户具有不同的可见性。我有 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')],
    ],
]);

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

显示这个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],
    ],
]);   

您尝试正确的 if 条件示例:

if(Yii::$app->user->getIdentity('moderator')){

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

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

],
]);
  }