PHP系统树图可快速的处理无限极分类的业务需求 提供两种不同的数据结构和三种视图类型
数据结构 | adjacency list | nested sets | |
---|---|---|---|
视图类型 | 目录 catalog | 茎状 rhizome | 下拉列表 select |
composer require dendrogram/dendrogram:v2.0
首先往Laravel应用中注册ServiceProvider,打开文件config/app.php,在providers中添加一项:
'providers' => [
DenDroGram\DendrogramServiceProvider::class
]
然后发布拓展包的配置文件,使用如下命令:
php artisan vendor:publish
会在config目录下会生成dendrogram.php的配置文件
php artisan migrate
两表四个自定义函数 表名可先行在配置文件中修改.以保持与自定义函数内的表名一致
migrations下增加**城市sql文件
由于查询节点过多需要配置mysql
SET GLOBAL group_concat_max_len = 20460;
/*adjacency list数据结构*/
new DenDroGram(AdjacencyList::class)
/*nested set数据结构*/
new DenDroGram(NestedSet::class)
调用方法 | 方法说明 | 方法参数 | 返回内容 |
---|---|---|---|
buildCatalog | 生成目录式结构树 | 根节点id |操作节点的路由POST方式 |节点显示字段 | html文本 |
buildRhizome | 生成根茎视图 | 根节点id |操作节点的路由POST方式 |节点显示字段 | html文本 |
buildSelect | 生成下拉列表 | 根节点id |列表选项显示字段 |列表选项值 |列表选项默认值 | html文本 *获取选项结果可在js中调用dendrogramUS.storage() 点击选项回调方法dendrogramUS.callback() |
operateNode | 节点操作 | action增删改标识 |data节点详情数据 | 返回boolean |
getTreeData | 获取结构型数据 | 根节点id | 返回array |