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

一、控制器代码如下:

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>

 

posted @ 2017-11-15 15:11  轩宇网工作室  阅读(876)  评论(0编辑  收藏  举报
文章部分来源于素材火 作者官网轩宇网