Ситуация такая, в админке есть список пользователей. Вывожу его при помощи виджета GridView.
echo GridView::widget([
'id' => 'users-visits-grid',
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
//'options' => ['class' => ''],
'tableOptions' => ['class' => 'table table-bordered'],
//'rowOptions' => ['class' => ''],
'layout' => '<div class="GridViewSummary">{summary}</div><div class="panel panel-default"><div class="table-responsive">{items}</div><div class="table-footer">{pager}</div></div>',
'columns' => [
[
'attribute' => 'user',
'format' => 'html',
'value' => function ($model) {
return UserColumn::widget([
'userId' => $model->id
]);
}
],
'role',
[
'attribute' => 'status',
'format' => 'html',
'value' => function ($model, $index, $widget) {
return ProcessingData::getSelectOptionString($model->status, User::getStatusArray());
},
'filterInputOptions' => ['class'=>'form-control', /*'class'=>'select-multiple'*/],
'filter' => ProcessingData::getSelectOption(User::getStatusArray())
],
...
Поле username я заменил на после user и обрабатывают через свой видит, то есть показываю на экран не просто логин пользователя, а еще и аватарку, фио и иконку онлайн/офлайн.
Далее я бы хотел добавить сортировку и фильтр поиска, так же, как и было бы при
username.
Однако если я использую 'attribute' => 'user', то нет ни фильтра, ни сортировки.
Если переименовать после на 'attribute' => 'username', будет другой косяк, будет и фильтр, и сортировка, но я бы хотел, чтобы поле называлось не Логин (как прописано в attributeLabels) а Пользователь.
Подскажите, пожалуйста, что мне нужно сделать?