fastadmin框架,實現樹形分類,解決編輯頁面分類顯示不準確的問題以及分類結構問題

本項目是使用的fastadmin自帶的樹形分類,直接拿過來使用的,就會出現以下問題:
1.後臺分類列表頁面會出現未編譯的 符號
2.編輯頁面會出現顯示的分類對不上,而且結構混亂

首先,我們先解決比較簡單的第一個問題,這裏放兩種解決方案:
第一:直接在對應的分類js裏面,添加escape:false,這樣列表頁面的特殊符號就沒有了;
第二:在樹形類裏面將 換成其他不需要轉義的符號,比如–之類的;樹形類的文件位置在extend/fast/Tree.php;

其次,我們再解決編輯頁面顯示分類對不上以及結構混亂的問題:
添加add頁面是正常顯示的,爲了不影響add頁面,我們在對應的controller下面新建一個方法,用於編輯頁面調用
默認的是index方法,我們新建一個idnex2方法,代碼如下:

/**
     * 查看
     */
    public function index2()
    {
        //設置過濾方法
        $this->request->filter(['strip_tags']);
        if ($this->request->isAjax()) {
            $search = $this->request->request("search");
            $type = $this->request->request("type");
            $keyValue = $this->request->request("keyValue",'');
            $keyField = $this->request->request("keyField");
            if($keyField=='id' && $keyValue){
                $list=db('itemclass')->where('id',$keyValue)->select();
                $total = count($list);
                $result = array("total" => $total, "rows" => $list);

                return json($result);
            }
            //構造父類select列表選項數據
            $list = [];

            foreach ($this->categorylist as $k => $v) {
                if ($search) {
                    if (stripos($v['name'], $search) !== false) {
                        $list[] = $v;
                    }
                } else {
                    $list = $this->categorylist;
                }
            }
            $total = count($list);
            $result = array("total" => $total, "rows" => $list);

            return json($result);
        }
        return $this->view->fetch();
    }

然後再對應的edit頁面調用此方法即可

<div class="form-group">
        <label class="control-label col-xs-12 col-sm-2">{:__('Class_id')}:</label>
        <div class="col-xs-12 col-sm-8">
            <input id="c-class_id" data-rule="required" data-source="class/index2" class="form-control selectpage" name="row[class_id]" type="text" value="{$row.class_id|htmlentities}">
        </div>
</div>

這樣編輯頁面就可以顯示正確的分類,且分類樣式呈現樹形結構。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章