博客列表 >ThinkPHP3.2.3中如何显示二级栏目

ThinkPHP3.2.3中如何显示二级栏目

忧郁之子的博客
忧郁之子的博客原创
2017年11月15日 15:05:47787浏览

一、控制器代码如下:

public function index()    
{
     $cate = D('cate');//实例化数据表cate
  /* 方法一*/
     $where['parent_id']=0;
     $cates = $cate->where($where)->select();
     /* 方法二
  $cates = $cate->where(array('parent_id'=>'0'))->select(); 
  */
       $this->assign('cates',$cates);//分配到模板中
        $this->display();   
}

二、在Application/common/common目录下的function.php写一个get_cate_children()函数通过获取父ID来查询所有子栏目函数代码如下:

/传入参数为当前栏目的id(即所要调用的子栏目的paren_id)

function get_cate_children($cate_id)
{
    $cate = D('cate');
    //当子栏目的parent_id等于传入的栏目id时,查找出所有子栏目
    $cates = $cate->where(array('parent_id'=>$cate_id))->select();
    return $cates;//返回值
}

三、模板中显示顶级栏目和二级栏目:

<!--顶级栏目-->
<volist name="cates" id="vo">
    <li class="mnav">
        <a href="#" class="">
            <p>{$vo.cate_name}</p>
            <p class="en">{$vo.cate_ename}</p>
        </a>
        <ul class="smenu">
            <!--子栏目调用get_cate_children()函数-->
            <volist name=":get_cate_children($vo['cate_id'])" id="vo">
            <li>
               <a href="#">{$vo.cate_name}</a>
            </li>
            </volist>
        </ul></li>
</volist>

 

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议