ThinkPHP菜单无极分类的示例分析

896次阅读
没有评论

共计 817 个字符,预计需要花费 3 分钟才能阅读完成。

这篇文章主要介绍 ThinkPHP 菜单无极分类的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

效果图如下

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("&nbsp;",$vo["level"]*3).'├╌' 
        /*str_repeat() 函数把字符串重复指定的次数。*/ 
    ?>
    {$vo.name}
    </td>						
  </tr>
{/volist}
</tbody>

以上是“ThinkPHP 菜单无极分类的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助

正文完
 0
评论(没有评论)