6.17 Tree(无限分类)使用说明
优质
小牛编辑
136浏览
2023-12-01
DoitPHP扩展类Tree(无限分类),用于处理无限分类树,电子商务网站经常用。如果你连“无限分类”的概念还不清楚,请先去google上百度一下,或者去百度google一下。
类方法使用说明:
1、setKeyName($nodeId = 'id', $nodeName = 'name', $nodeParentId = 'pid', $nodeChildName = 'child')
设置分类树数组的Key,即节点数组的字段名(初始化配置)。
参数说明:
$nodeId : 分类树数组key的节点Id
$nodeName : 分类树数组key的节点名称
$nodeParentId : 分类树数组key的分节点Id
$nodeChildName : 分类树数组key的子节点Id
2、getTree($data, $parentId = 0)
获取无限分类树。
参数说明:
$data : 待处理的数组
$parentId : 父ID
举例说明:
例一、获取城区分类列表
Controller文件代码内容如下:
public function indexAction() {
$citys = array(
array('city_id'=>1, 'city_name'=>'北京', 'pid'=>0),
array('city_id'=>2, 'city_name'=>'上海', 'pid'=>0),
array('city_id'=>3, 'city_name'=>'海淀区', 'pid'=>1),
array('city_id'=>4, 'city_name'=>'浦东新区', 'pid'=>2),
);
$treeObj = $this->instance('Tree');
$treeObj->setKeyName('city_id', 'city_name', 'pid');
$data = $treeObj->getTree($citys, 0);
$this->dump($data);
}
输出结果为:
Array
(
[1] => Array
(
[city_id] => 1
[city_name] => 北京
[child] => Array
(
[3] => Array
(
[city_id] => 3
[city_name] => 海淀区
[child] => Array
(
)
)
)
)
[2] => Array
(
[city_id] => 2
[city_name] => 上海
[child] => Array
(
[4] => Array
(
[city_id] => 4
[city_name] => 浦东新区
[child] => Array
(
)
)
)
)
)