Видимость в 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')],
],
]);

0

Решение

видимый параметр логический. По умолчанию true.

покажи это Виджет меню

также показать 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

Другие решения

Вы пытаетесь исправить, если пример условия:

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

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

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

],
]);
}
0

По вопросам рекламы [email protected]