作者:事过人空 | 来源:互联网 | 2023-08-12 10:12
今天就跟大家聊聊有关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][&#39;name&#39;]=($space ? $space.$pre : "").$lists[$i][&#39;catname&#39;];
$cat_all[]=$lists[$i];
$cat_bbb=$this->getSonLists($lists[$i][&#39;id&#39;], $space.$pad." "); //递归下一级分类
if(count($cat_bbb)){//包含子栏目 合并
$cat_all=array_merge($cat_all,$cat_bbb);
}
$m++;
}
}
return $cat_all;
}
看完上述内容,你们对thinkphp中怎么实现一个无限分类有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程笔记行业资讯频道,感谢大家的支持。