这篇文章主要介绍了ThinkPHP菜单无极分类实例讲解,文中将代码列举了出来,有感兴趣的同学可以借鉴参考下
效果图如下
controller控制器代码:
/**
* 菜单列表
*/
public function index(){
$menuList= Db::name('menu')->order('sort,id')->select();
//递归排序
$menuList= $this->sort($menuList);
$this->assign('menuList',$menuList);
return view();
}
protected function sort($data,$pid=0,$level=0){
//此处数据必须是静态数组,不然递归的时候每次都会声明一个新的数组
static $arr = array();
foreach ($data as $key=>$value){
if($value['pid'] == $pid){
$value["level"]=$level;
$arr[]=$value;
//unset()用于销毁指定的变量
unset($this->data[$key]);
$this->sort($data,$value['id'],$level+1);
}
}
return $arr;
}
html模板代码:
<tbody>
{volist name="menuList" id="vo" key="index"}
<tr>
<td class="text-left">
<?php
if($vo['pid']!=0)
echo str_repeat(" ",$vo["level"]*3).'├╌ '
/*str_repeat()函数把字符串重复指定的次数。*/
?>
{$vo.name}
</td>
</tr>
{/volist}
</tbody>
到此这篇关于ThinkPHP菜单无极分类实例讲解的文章就介绍到这了,更多相关ThinkPHP菜单无极分类内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
沃梦达教程
本文标题为:ThinkPHP菜单无极分类实例讲解
猜你喜欢
- PHP简单实现二维数组的矩阵转置操作示例 2022-10-02
- php微信公众号开发之秒杀 2022-11-23
- PHP实现微信支付(jsapi支付)流程步骤详解 2022-10-09
- PHP中PDO事务处理操作示例 2022-10-15
- 用nohup命令实现PHP的多进程 2023-09-02
- PHP仿tp实现mvc框架基本设计思路与实现方法分析 2022-10-18
- laravel实现按月或天或小时统计mysql数据的方法 2023-02-22
- windows下9款一键快速搭建PHP本地运行环境的好工具(含php7.0环境) 2023-09-02
- Laravel balde模板文件中判断数据为空方法 2023-08-30
- laravel通用化的CURD的实现 2023-03-17