1、fastadmin 为我们提供了分类功能。个人感觉官方的分类功能很强大也满足日常大部分需求。
但是出现一个问题就是列表显示的分类ID
这里很不习惯也不符合需求
所以我们得来改~~~~
首先找到你当前的文章类后台控制器。
一般在application/admin/controller 下面
//引入关联模型 注意这里是你的当前控制器对应的模型人,如果是默认官方分类直接用下面这句即可。
use app\common\model\Category as CategoryModel;
//在当前控制器中增加index方法,默认是没有的因为继承了后台基类
//查看
public function index()
{
//设置过滤方法
$this->request->filter(['strip_tags']);
if ($this->request->isAjax())
{
//如果发送的来源是Selectpage,则转发到Selectpage
if ($this->request->request('keyField'))
{
return $this->selectpage();
}
$typeName = CategoryModel::where('type', 'eq', 'women_news')//这里需要需要你的分类名称。得修改成自己的
->column('id,name');
list($where, $sort, $order, $offset, $limit) = $this->buildparams();
$total = $this->model
->where($where)
->order($sort, $order)
->count();
$list = $this->model
->where($where)
->order($sort, $order)
->limit($offset, $limit)
->select();
$list = collection($list)->toArray();
foreach ($list as $k => &$v)
{
$v['type_text'] = isset($typeName[$v['category_id']]) ? $typeName[$v['category_id']] : "";
}
unset($v);
$result = array("total" => $total, "rows" => $list);
return json($result);
}
return $this->view->fetch();
}
修改前台js:后台对应的js 一般在 public/assets/js/backend 目录下跟控制器同名
把:
{field: 'unit', title: __('category_id')},
改为:
{field: 'type_text', title: __('category_id'),operate:false,formatter: Table.api.formatter.label},
修改后 清空缓存: