ThinkPHP菜单无极分类实例讲解

 353

这篇文章主要介绍了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>


本文网址:https://www.98ks.vip/server-167.html
转载请声明来自:98k源码网 - ThinkPHP菜单无极分类实例讲解

评论(0)条

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

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

    编辑推荐