1.效果展示
系統crud生成的下拉分類有些不是很好看,并且選擇困難,看不出級差,效果如下:
?經過 build_select?加工后的效果,美觀好看,并添加上搜索功能:
2.?首先需要寫一個樹狀圖的數據格式
protected $datalist = [];
public function _initialize()
{parent::_initialize();// 必須將結果集轉換為數組$dataList = collection(Category::order('weigh', 'desc')->where('status', 'normal')->select())->toArray();foreach ($dataList as $k => &$v) {$v['name'] = __($v['name']);}unset($v);Tree::instance()->init($dataList);$this->dataList = Tree::instance()->getTreeList(Tree::instance()->getTreeArray(0), 'name');$data = [0 => __('None')];foreach ($this->dataList as $k => &$v) {$data[$v['id']] = $v['name'];}$this->view->assign('data', $data);
}
3.add和edit的html頁面
// add
<div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('Category')}:</label><div class="col-xs-12 col-sm-8">{:build_select('row[category_id]', $data, null, ['class'=>'form-control selectpicker', 'required'=>'', 'data-live-search'=>"true"])}</div>
</div>// edit
<div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('Category')}:</label><div class="col-xs-12 col-sm-8">{:build_select('row[category_id]', $data, $row['category_id'], ['class'=>'form-control selectpicker', 'required'=>'', 'data-live-search'=>"true"])}</div>
</div>