这篇文章主要介绍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菜单无极分类的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。