Продолжаю пополнять свой багаж знаний в Yii2.
О своих колонках в Grid слышал конечно же, но на практике не использовал. Но когда дубляж кода дошел до 5ти штук в разных местах. Вот и задумался, а почему бы и не попробовать? И казалось довольно не плохо и удобно. А главное гибко!
Ниже приведен полный листинг кода примера колонки наследуемой от DataColumn:
namespace backendgrid; use Yii; use yiihelpersHtml; use yiigridDataColumn; class ActiveColumn extends DataColumn { public $headerOptions = [ 'style' => 'width: 80px;' ]; public $contentOptions = [ 'class' => 'text-center' ]; public $attribute = 'is_active'; /** * @inheritdoc */ protected function renderDataCellContent($a) { if($a['is_active'] == 1) { return Html::a('<span class="glyphicon glyphicon-ok-circle"></span>', [ 'active', 'id' => $a['id'], 'is_active' => 0], [ 'title' => Yii::t('app', 'Unactivate this'), 'data-pjax' => '0', ] ); } return Html::a('<span class="glyphicon glyphicon-lock"></span>', [ 'active', 'id' => $a['id'], 'is_active' => 1], [ 'title' => Yii::t('app', 'Activate this'), 'data-pjax' => '0', ] ); } }