2016-06-13 74 views
0

我正在嘗試創建一個頁面,其中包含對不同用戶具有不同可見性的菜單。我有3個用戶:用戶,版主和管理員。有人可以幫我解決這個問題。這裏是我的代碼:Yii2中的可見性

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')], 
    ], 
]); 

回答

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], 
    ], 
]); 
0

你嘗試的權利,如果條件例如:

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

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

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

], 
]); 
    } 
+0

是啊,我已經想到這一點,但比我得到3如果語句,我想保留我的代碼儘可能短。 –