Программирование, веб-кодинг

Yii2: как спрятать в GridView колонку при определённом условии (для неавторизованных пользователей)

Yii2: как спрятать в GridView колонку при определённом условии (для неавторизованных пользователей)

Например, хотим показывать колонку с кнопками управления в GridView только для авторизовавшихся пользователей.

В GridView можно указать параметр visible для любого атрибута, которые принимает булевое значение — true или false.

Например, вот колонка с кнопками управления строкой в GridView, добавляю туда свойство 'visible':

['class' => 'yii\grid\ActionColumn', 'headerOptions' => ['width' => '60'], 'visible' => $hasAccess,],

Переменная $hasAccess - это булевое значение, результат проверки имеет пользователь право видеть эту колонку или нет. Эту переменную передаю из контроллера

...
$hasAccess = (Yii::$app->user->isGuest) ? false : true; 
return $this->render('index', [
    ...
    'hasAccess' => $hasAccess,
]);
...