zoukankan      html  css  js  c++  java
  • 夺命雷公狗ThinkPHP项目之----企业网站24之网站前台获取当前栏目和顶级栏目

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

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

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

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

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

    <?php
    namespace HomeController;
    use ThinkController;
    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);
            }
            //顶级栏目的获取 结束
            
            
        }
    }

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

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

  • 相关阅读:
    整合SSH遇到的问题
    学习动态代理实现业务层的事务控制遇到的问题
    docker局域网独立IP外网访问配置
    第23次CSP-D题解法
    Nordic Bluetooth 切换到DFU Mode
    MySQL事务、锁和MVCC
    深拷贝和浅拷贝的区别是什么?
    python是如何进行内存管理的
    数据库的事务
    斐波那契数列
  • 原文地址:https://www.cnblogs.com/leigood/p/5436618.html
Copyright © 2011-2022 走看看