= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
// 重新定义分页样式
'tableOptions' => ['class' => 'table table-hover'],
'columns' => [
[
'class' => 'yii\grid\SerialColumn',
],
[
'attribute' => 'url',
'filter' => false, //不显示搜索框
'value' => function ($model) {
if (($model['upload_type'] == 'images' || preg_match("/^image/", $model['specific_type'])) && $model['extension'] != 'psd') {
return ImageHelper::fancyBox($model->url);
}
return BaseHtml::a('预览', $model->url, [
'target' => '_blank'
]);
},
'format' => 'raw'
],
[
'attribute' => 'drive',
'headerOptions' => ['class' => 'col-md-1'],
'filter' => Html::activeDropDownList($searchModel, 'drive', AttachmentDriveEnum::getMap(), [
'prompt' => '全部',
'class' => 'form-control'
]
),
'value' => function ($model) {
return AttachmentDriveEnum::getValue($model->drive);
},
],
'name',
[
'attribute' => 'format_size',
'filter' => false, //不显示搜索框
],
[
'attribute' => 'extension',
'headerOptions' => ['class' => 'col-md-1'],
],
[
'attribute' => 'cate.title',
'label' => '素材分组',
'headerOptions' => ['class' => 'col-md-1'],
'filter' => Html::activeDropDownList($searchModel, 'cate_id', $cateMap, [
'prompt' => '全部',
'class' => 'form-control'
]
),
'value' => function ($model) {
return $model->cate->title ?? '';
},
],
[
'label' => '位置信息',
'value' => function ($model) {
$str = [];
$str[] = DebrisHelper::analysisIp($model->ip);
$str[] = $model->ip;
return implode('', $str);
},
'format' => 'raw',
],
[
'label' => '创建时间',
'attribute' => 'created_at',
'filter' => false, //不显示搜索框
'format' => ['date', 'php:Y-m-d H:i:s'],
],
[
'header' => "操作",
'class' => 'yii\grid\ActionColumn',
'template' => '{update} {status} {delete}',
'buttons' => [
'update' => function ($url, $model, $key) {
return Html::linkButton(['update', 'id' => $model->id, 'type' => $model->upload_type], '编辑', [
'data-toggle' => 'modal',
'data-target' => '#ajaxModal',
]);
},
'status' => function ($url, $model, $key) {
return Html::status($model->status);
},
'delete' => function ($url, $model, $key) {
return Html::delete(['destroy', 'id' => $model->id]);
},
],
],
],
]); ?>