【问题标题】:Visibility in Yii2Yii2 中的可见性
【发布时间】:2016-10-13 13:04:03
【问题描述】:

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

【问题讨论】:

    标签: php yii2 visibility


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      你尝试对 if 条件示例:

      if(Yii::$app->user->getIdentity('moderator')){
      
       echo Menu::widget([
      'items' => [
      
          ['label' => 'Maak afbeeldingen aan', 'url' => ['create'], 'icon' => 'file'],
      
      ],
      ]);
        }
      

      【讨论】:

      • 是的,我已经想到了,但是我得到了 3 个 if 语句,并且我想让我的代码尽可能短。
      猜你喜欢
      • 2015-04-21
      • 2010-09-27
      • 2020-04-05
      • 1970-01-01
      • 2012-09-24
      • 2012-05-10
      • 1970-01-01
      • 2020-02-10
      • 2013-06-14
      相关资源
      最近更新 更多