ThinkPHP菜单无极分类实例讲解
发布:smiling 来源: PHP粉丝网 添加日期:2022-04-17 09:58:06 浏览: 评论:0
这篇文章主要介绍了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>
Tags: ThinkPHP菜单无极分类
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)