ThinkPHP菜单无极分类实例讲解

2022-04-15 0 758

效果图如下

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菜单无极分类实例讲解的文章就介绍到这了,更多相关ThinkPHP菜单无极分类内容请搜索NICE源码以前的文章或继续浏览下面的相关文章希望大家以后多多支持NICE源码!

免责声明:
1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

NICE源码网 PHP编程 ThinkPHP菜单无极分类实例讲解 https://www.niceym.com/17525.html