这篇文章主要介绍了关于php中的无限极分类,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
1.首先无限极分类对应的表的结构
| cate_id | cate_name| parentid(默认0)| | -------- | -----: | :----: | | 1 | 键盘 | 0 | | 2 | 机械键盘 | 1 | | 3 | cherry键盘| 2 |
这里面能看出来cherry的parentid的值等于等于他上一级的cate_id,这也就是无限极分类的核心
2.无限分类功能就是把数据库中的数据从新排序
控制器下代码:
public function index(){
$cate = D('category')->catetree();
$this->assign('cate',$cate);
$this->display();
}这里$cate调用catetree()方法,那么下面我们对应的Model里面的代码
Model下的代码:public function catetree(){
$data = $this->select();
return $this->resort($data);
}首先查询对应category表里面的所有数据并return一个新的方法
立即学习“PHP免费学习笔记(深入)”;
Magento是一套专业开源的PHP电子商务系统。Magento设计得非常灵活,具有模块化架构体系和丰富的功能。易于与第三方应用系统无缝集成。Magento开源网店系统的特点主要分以下几大类,网站管理促销和工具国际化支持SEO搜索引擎优化结账方式运输快递支付方式客户服务用户帐户目录管理目录浏览产品展示分析和报表Magento 1.6 主要包含以下新特性:•持久性购物 - 为不同的
public function resort($data,$parentid=0,$level=0){
static $ret = array(); foreach ($data as $key => $v) {
if ($v['parentid']==$parentid) {
$v['level']=$level;
$ret[]=$v;
$this->resort($data,$v['cate_id'],$level+1);
}
} return $ret ;
}首先生成一个静态数组,然后把catetree()方法传过来的$data进行遍历,判断条件就是为了找到顶级那条数据。先把顶级那条数据保存到静态数组里面,然后在调用本身,并且把顶级栏目的id做为参数传出去。
这样一来$parentid=$v['cate_id']
最终无线分类的功能就做完了!
相关推荐:









