这篇文章主要介绍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).'├╌ ' ?> {$vo.name} </td> </tr>{/volist}</tbody>
以上是“ThinkPHP菜单无极分类的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!