基于Thinkphp的无限分类哦
Thinkphp的无极限分类
数据库就那两个字段,一个id,一个pid,自己定义哦.这里还是用的递归
<?php classCategoryActionextendsAction{public $cate;public $alist;public $treeList = array();//存放无限分类结果如果一页面有多个无限分类//这个方法下次单独拿出去publicfunction _initialize(){ $this->cate = M('Category'); $list = $this->cate->order('`pid` asc, `order` asc, id asc')->select(); $this->alist = $this->tree($list);}/** * 无限级分类 * @access public * @param Array $data //数据库里获取的结果集 * @param Int $pid * @param Int $count //第几级分类 * @return Array $treeList */publicfunction tree(&$data, $pid =0, $count =1){foreach($data as $key => $value){if($value['pid']== $pid){ $value['count']= $count; $this->treeList []= $value; unset($data[$key]); $this->tree($data, $value['id'], $count +1);}}return $this->treeList;}}
这样你就可以在自己的代码中
$this->assign('alist', $this->alist);
模板部分
<volistname="alist"id="vo"><tr><tdclass='name'><forstart="1"end="$vo['count']"> </for><ahref="#"target="_blank"title="ID={$vo.id}"class="tip-top"> {$vo['name']} </a></td><inputtype="hidden"value="{$vo.id}"class="id"name="id"/></tr></volist>
大功告成,是不是很简单啊
武汉长乐未央网络科技,版权所有,转载请注明.
浙公网安备 33010602011771号