ThinkPHP菜单无极分类 ThinkPHP菜单无极分类实例讲解
祝君圆梦 人气:0想了解ThinkPHP菜单无极分类实例讲解的相关内容吗,祝君圆梦在本文为您仔细讲解ThinkPHP菜单无极分类的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:ThinkPHP菜单无极分类,php无限极分类,下面大家一起来学习吧。
效果图如下
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>
加载全部内容