|
|
无限极分类
//分类列表
- public function lst(){
- $category=new CategoryModel; //引用模型等于一个变量
- $data=$category->categorytree(); //查询所有分类 -- 模型的方法
- $this->assign('c_list',$data); //模板变量复制
- return $this->fetch();
- }
复制代码
//模型方法
- //无限极分类的树形结构方法
- public function categorytree(){
- $categoryres=$this->select(); //自己查询等于$categoryres变量
- return $this->sort($categoryres); //自己指向 sort方法带上 $categoryres变量
- }
- //分类等级方法
- public function sort($data,$pid=0,$level=0){
- static $arr=array();
- //foreach 循环执行这个方法
- foreach ($data as $k => $v){
- if($v['pid']==$pid){ //第一次循环等级一定为0
- $v['level']=$level; //新的临时的一维数组记录等级
- $arr[]=$v; //等级赋值给一维数组记录
- $this->sort($data,$v['id'],$level+1); //每次有下以级别 执行此方法
- //每循环一次foreach方法 level(等级)就加1
- }
- }
- return $arr;
- }
复制代码
|
|