В этом небольшом снипете, я покажу как можно скрыть GridView
колонку в Yii2 по определенному условию. Допустим вы пишите виджет и он много где используется и при определенных условиях, некоторые колонки должны быть скрыты.
В GridView
вы можете указать параметр visible
(видимость) для любого атрибута, которые принимает булевое значение — true
или false
.
Решение
[ 'label' => 'Название колонки', 'attribute' => 'column_name', 'visible' => $hasAccess, ],
$hasAccess
подразумевает под собой некое булевое значение, имеет пользователь доступ к определенной колонке или нет.
Допустим вы можете заранее отправить его через $this->render('gridview-widget', ['hasAccess' => $hasAccess])
внутри контроллера или же внутри вашего виджета.