1、fastadmin 為我們提供了分類功能。個人感覺官方的分類功能很強大也滿足日常大部分需求。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI2EzX4xSZz91ZsAzNfRHLGZkRGZkRfJ3bs92YsAjMfVmepNHL9UlbhpnRXJWQClGVF5UMR9Fd4VGdsATNfd3bkFGazxSUhxGatJGbwhFT1Y0Mk9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLxYGZ2MWYzI2NjFzY4EWMiJWNlRTYkZWZkNDMyUGOxIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
但是出現一個問題就是清單顯示的分類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},
修改後 清空緩存: