您的位置:首页 > 编程语言 > PHP开发

thinkphp 简单的无限分类实现

2018-03-06 18:31 393 查看
    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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息