我们实现网站二级分类的显示的时候,先要考虑的是直接取出顶级栏目,控制器代码如下所示:
<?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function index(){ $mod = M("Category"); $where[‘cate_pid‘] = ‘0‘; //这样写可以达到一种防SQL注入的效果 $cate = $mod -> where($where) -> select(); //获取顶级栏目为0的结果集 $this -> assign(‘cate‘,$cate); //dump($cate); $this->display(); } }
因为我们的顶级栏目的 cate_id 为 0 ,所以我们直接取出所有栏目 cate_id=0 的栏目然后遍历到模版页离去:
这样我们即可实现一级栏目的展示了:
下一步就是考虑的就是通过我们目前找到的cate_pid 去寻找 他的父亲,所以我们在WEB\Common\Common 目录下创建一个function.php的函数文件,来寻找我们的亲爹咯,嘻嘻:
代码如下所示:
<?php //取出子栏目 function getsub($pid){ $mod = D("Category"); $where[‘cate_pid‘] = $pid; $cmod = $mod -> where($where) -> select(); return $cmod; }
我们在函数里面接收到传进来的 id 去按照条找cate_pid = 我们传进来的id 的数据,然后在用return 进行返回即可。。。。。。
下一步直接在模型下引入我们的函数:
<div id="header"> <div class="layout"> <div id="nav"> <div class="nav"> <ul> <li><a href="/" class="header foucs"> <p>网站首页</p> <p class="en">Home</p> </a> </li> <volist name="cate" id="vo"> <li class="mnav"> <a href="/plus/list.php?tid=1" class=‘‘><p>{$vo[‘cate_name‘]}</p><p class=‘en‘>{$vo[‘cate_ename‘]}</p></a> <ul class="smenu"> <volist name=":getsub($vo[‘cate_id‘])" id="vv"> <li> <a href="/plus/list.php?tid=11">{$vv[‘cate_name‘]}</a> </li> </volist> </ul> </li> </volist> </ul> </div> </div> <div class="logo"> <a href="/"></a> </div> </div> </div>
这样即可找到我们的二级分类下的数据了,如果是三级或者四级分类,如此类推即可实现。。。。
实现效果如下所示:
时间: 2024-12-25 16:23:03