Yii2 спрятать GridView колонку при определенном условии

· Yii2 и Снипеты · 1 мин чтения

В этом небольшом снипете, я покажу как можно скрыть GridView колонку в Yii2 по определенному условию. Допустим вы пишите виджет и он много где используется и при определенных условиях, некоторые колонки должны быть скрыты. 

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

Решение

[
    'label' => 'Название колонки',
    'attribute' => 'column_name',
    'visible' => $hasAccess,
],

$hasAccess подразумевает под собой некое булевое значение, имеет пользователь доступ к определенной колонке или нет.

Допустим вы можете заранее отправить его через $this->render('gridview-widget', ['hasAccess' => $hasAccess]) внутри контроллера или же внутри вашего виджета.