thinkphp 簡單的無限分類實現

function getSonLists($upid=0,$space=''){ $icon = array( ' │', ' ├─', ' └─' ); //格式化的字符 $category_type = $this->category_type; $map['up_id'] = array('eq',$upid); // $map['id'] = array('neq',1); $lists = M('Category')->where($map)->field('id,catname,up_id,status,sort,model_id,path,type')->order('sort asc,id asc')->select(); $n = count($lists); $cat_all = array(); if($n){ $m=1; for($i=0;$i<$n;$i++){ if($n==$m){//只有一個子欄目/最後一個欄目 $pre = $icon[2]; }else{ $pre = $icon[1]; } $pad = $space ? $icon[0] : ""; $lists[$i]['name']=($space ? $space.$pre : "").$lists[$i]['catname']; $cat_all[]=$lists[$i]; $cat_bbb=$this->getSonLists($lists[$i]['id'], $space.$pad." "); //遞歸下一級分類 if(count($cat_bbb)){//包含子欄目 合併 $cat_all=array_merge($cat_all,$cat_bbb); } $m++; } } return $cat_all; }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章