@xi_qing [#2楼](#comment2) 譬如:
后台对page页的列表的展示部分:
https://github.com/fecshop/yii2_fecshop/blob/master/app/appadmin/modules/Cms/block/article/Index.php
大致只需要重写这两个方法就出来列表的
public function getSearchArr()
{
$data = [
[ // selecit的Int 类型
'type'=>'select',
'title'=>'状态',
'name'=>'status',
'columns_type' =>'int', // int使用标准匹配, string使用模糊查询
'value'=> [ // select 类型的值
1=>'激活',
2=>'关闭',
],
],
[ // 字符串类型
'type'=>'inputtext',
'title'=>'标题',
'name'=>'title',
'columns_type' =>'string',
],
[ // 时间区间类型搜索
'type'=>'inputdatefilter',
'name'=> 'created_at',
'columns_type' =>'int',
'value'=>[
'gte'=>'用户创建时间开始',
'lt' =>'用户创建时间结束',
],
],
];
return $data;
}
/**
* config function ,return table columns config.
*/
public function getTableFieldArr()
{
$table_th_bar = [
[
'orderField' => $this->_primaryKey,
'label' => 'ID',
'width' => '50',
'align' => 'center',
],
[
'orderField' => 'title',
'label' => '标题',
'width' => '50',
'align' => 'left',
'lang' => true,
],
[
'orderField' => 'created_user_id',
'label' => '创建人',
'width' => '110',
'align' => 'center',
],
[
'orderField' => 'created_at',
'label' => '创建时间',
'width' => '110',
'align' => 'center',
'convert' => ['int' => 'datetime'],
],
[
'orderField' => 'updated_at',
'label' => '更新时间',
'width' => '110',
'align' => 'center',
'convert' => ['int' => 'datetime'],
],
];
return $table_th_bar;
}
这种方式也是参考的magento的封装。不过magento的封装,封的更厉害,导致灵活性不高。当然,我这种封装方式,灵活性方面也有点欠缺。