您的当前位置:首页>全部文章>文章详情

fastadmin pid 下拉列表 树形结构

发表于:2025-03-03 11:05:55浏览:123次TAG: #PHP #Fastadmin #下拉列表树形结构
  1. controller控制器
    use fast\Tree;

    public function _initialize()
    {
        parent::_initialize();
        $this->model = new \app\admin\model\article\Type;


        $tree = Tree::instance();
        $tree->init(collection($this->model->order('id desc')->select())->toArray(),'pid');
        $this->typelist = $tree->getTreeList($tree->getTreeArray(0),'name');
        $typedata = [
            0 => '无父级'
        ];

        foreach ($this->typelist as $k => $v){
            $typedata[$v['id']] = $v['name'];
        }

        $this->view->assign('typedata',$typedata);


        $this->view->assign("statusList", $this->model->getStatusList());
    }
  1. view 中的 add.html

     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Pid')}:</label>
         <div class="col-xs-12 col-sm-8">
    
             {:build_select('row[pid]',$typedata, null, ['class'=>'form-control selectpicker','data-rule'=>'required'])}
    
         </div>
     </div>
    
  2. view 中的 edit.html

     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Pid')}:</label>
         <div class="col-xs-12 col-sm-8">
    
             {:build_select('row[pid]', $typedata, $row['pid'], ['class'=>'form-control selectpicker', 'data-rule'=>'required', 'data-id'=>$row['id'], 'data-pid'=>$row['pid']])}
    
         </div>
     </div>
    

例子2

  1. controller控制器 _initialize 中添加

     use fast\Tree;
    
         $tree = Tree::instance();
    
         $categorymodel = new \app\admin\model\bijia\Category();
    
         $tree->init(collection($categorymodel->order('weigh desc')->select())->toArray(),'pid');
         $this->categorylist = $tree->getTreeList($tree->getTreeArray(0),'name');
         $categorydata = [
    
         ];
    
         foreach ($this->categorylist as $k => $v){
             $categorydata[$v['id']] = $v['name'];
         }
    
         $this->view->assign('categorydata',$categorydata);
    
  2. view add.html

     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Category_id')}:</label>
         <div class="col-xs-12 col-sm-8">
    <!--            <input id="c-category_id" data-rule="required" data-source="bijia/category/index" class="form-control selectpage" name="row[category_id]" type="text" value="">-->
             {:build_select('row[category_id]',$categorydata, null, ['class'=>'form-control selectpicker','data-rule'=>'required'])}
         </div>
     </div>
    

    3.view edit.html

     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Category_id')}:</label>
         <div class="col-xs-12 col-sm-8">
    <!--            <input id="c-category_id" data-rule="required" data-source="bijia/category/index" class="form-control selectpage" name="row[category_id]" type="text" value="{$row.category_id|htmlentities}">-->
             {:build_select('row[category_id]',$categorydata, $row['category_id'], ['class'=>'form-control selectpicker','data-rule'=>'required'])}
         </div>
     </div>