夺命雷公狗ThinkPHP项目之----企业网站24之网站前台获取当前栏目和*栏目

时间:2023-03-08 20:47:21
夺命雷公狗ThinkPHP项目之----企业网站24之网站前台获取当前栏目和*栏目

我们现在要实现的是取出网站当前栏目名称和*分类名称,如下所示:

列表页的和单页的不能总是写死的吧??

夺命雷公狗ThinkPHP项目之----企业网站24之网站前台获取当前栏目和*栏目

夺命雷公狗ThinkPHP项目之----企业网站24之网站前台获取当前栏目和*栏目

我能就要想办法去让他变活的才可以解决问题噢,我们已经有了他的cate_id ,然后我们就可以通过cate_id去直接获取出单前栏目的内容,这是不用质疑的,

然后我们再通过cate_id去获取我们的cate_pid ,这样我们即可找到找到我们所需要的*分类啦,废话不多说,因为代码会在多个页面上用得到,

为了预防代码冗余,我们的解决方法是直接在Common前台中间层里面进行写:

夺命雷公狗ThinkPHP项目之----企业网站24之网站前台获取当前栏目和*栏目

<?php
namespace Home\Controller;
use Think\Controller;
class CommonController extends Controller {
function __construct(){
//继承父类的构造方法,所以网站在执行的时候会先执行他
parent::__construct();
//头部二级分类的显示 开始
$mod = M("Category");
$where['cate_pid'] = '0';
//这样写可以达到一种防SQL注入的效果
$cate = $mod -> where($where) -> select(); //获取*栏目为0的结果集
$this -> assign('cate',$cate);
//dump($cate);
//头部二级分类的显示 结束 //列表页和产品页的面包屑导航 开始
$cateid = I('cate_id');
$mod = D('Category');
$res = $mod -> getparent($cateid);
$this -> assign('res',$res);
//列表页和产品页的面包屑导航 结束 //获取当前栏目 开始
$cateone = $mod -> where("cate_id=$cateid") -> find();
$this -> assign('cateone',$cateone);
//获取当前栏目 结束 //*栏目的获取 开始
if($cateone['cate_pid'] != '0'){
//如果不等于0则需要从cate_pid找他的*栏目
$pid = $cateone['cate_pid'];
$catetop = $mod -> where("cate_id=$pid") -> find();
$this -> assign('catetop',$catetop);
}else{
//如果等于0,直接等于*栏目即可
$catetop = $cateone;
$this -> assign('catetop',$catetop);
}
//*栏目的获取 结束 }
}

然后我们再将他分配到模版里问题即可解决啦:

夺命雷公狗ThinkPHP项目之----企业网站24之网站前台获取当前栏目和*栏目

然后我们再来测试下我们的单页换个列表页 即可发现成展示出来了:

夺命雷公狗ThinkPHP项目之----企业网站24之网站前台获取当前栏目和*栏目

夺命雷公狗ThinkPHP项目之----企业网站24之网站前台获取当前栏目和*栏目