天天看點

fastadmin背景中文章分類ID改為名稱顯示

1、fastadmin 為我們提供了分類功能。個人感覺官方的分類功能很強大也滿足日常大部分需求。

fastadmin背景中文章分類ID改為名稱顯示

但是出現一個問題就是清單顯示的分類ID

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},
           

修改後 清空緩存:

fastadmin背景中文章分類ID改為名稱顯示