分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

thinkphp无限极分类

发布时间:2023-09-22 06:26责任编辑:白小东关键词:thinkphp

这里首先介绍一下,什么是无限极分类?

无限极分类简单点说就是将一个类分成多个子类,然后一个子类又可以分另外多个子类这样无限分下去,就好象windows可以新建一个文件夹,然后在这个文件夹里又可以建一些个文件夹,在文件夹底下还可以建一些文件夹一样

那用Thinkphp如何实现无限分类的呢?

下面看一下分类结果:

下面给出实例代码:

1.先创建Model文件并在里面定义两个方法,如下:

<?phpnamespace app\admin\model;use think\Model;class Cate extends Model{ ??public function catetree() ?{ ???$cateRes=$this->select(); //从数据库中读取所有数据 ???return $this->sort($cateRes); //执行sort方法 ?} ?public function sort($data,$pid=0,$level=0) ??//定义一个sort方法 $pid--上级栏目id ??$level ---栏目的等级 ?{ ???static $arr=array(); ??//定义一个数组用于保存数据 ???foreach ($data as $k => $v) { ?//循环数据 ???????if ($v[‘pid‘]==$pid) { ???//如果pid等于定义的pid 的话属于同一等级栏目并保存在数组中 ???????????$v[‘level‘]=$level; ???????????$arr[]=$v; ???????????$this->sort($data,$v[‘id‘],$level+1); // ???????} ???} ???return $arr; ?}}
View Code

2.将模型在控制里面实例化并执行catetree方法,入下:

 随后看到所有的分类循序发生变化,但是很不直观,所以为了看起来优雅,在视图文件里面输出想要输出的字符,入下:

<td><?php echo str_repeat(‘-‘,$vo[‘level‘]*8)?>{$vo.catename}</td>
View Code

含义是在栏目名称前面反复输出栏目等级8倍的“-”;

thinkphp无限极分类

原文地址:https://www.cnblogs.com/yakupjan123/p/10800747.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved