ThinkPHP菜单无极分类实例讲解

 4144

这篇文章主要介绍了ThinkPHP菜单无极分类实例讲解,文中将代码列举了出来,有感兴趣的同学可以借鉴参考下。


效果图如下


ThinkPHP菜单无极分类实例讲解


controller控制器代码: 

  1. /**
  2.  * 菜单列表
  3.  */
  4. public function index(){ 
  5.     $menuList= Db::name('menu')->order('sort,id')->select();
  6.     //递归排序
  7.     $menuList= $this->sort($menuList);
  8.     $this->assign('menuList',$menuList);    
  9.     return view();  
  10. }
  11. protected function sort($data,$pid=0,$level=0){
  12.     //此处数据必须是静态数组,不然递归的时候每次都会声明一个新的数组
  13.     static $arr = array();
  14.     foreach ($data as $key=>$value){
  15.         if($value['pid'] == $pid){
  16.             $value["level"]=$level;
  17.             $arr[]=$value;
  18.             //unset()用于销毁指定的变量
  19.             unset($this->data[$key]);
  20.             $this->sort($data,$value['id'],$level+1);
  21.         }
  22.     }
  23.     return $arr;
  24. }

html模板代码:

  1. <tbody>
  2. {volist name="menuList" id="vo" key="index"}
  3.     <tr>
  4.         <td class="text-left">
  5.         <?php 
  6.             if($vo['pid']!=0) 
  7.             echo str_repeat("&nbsp;",$vo["level"]*3).'├╌ ' 
  8.             /*str_repeat()函数把字符串重复指定的次数。*/ 
  9.         ?>
  10.         {$vo.name}
  11.         </td>                       
  12.     </tr>
  13. {/volist}
  14. </tbody>


本文网址:https://www.zztuku.com/detail-8711.html
站长图库 - ThinkPHP菜单无极分类实例讲解
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐