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);
            }
            //顶级栏目的获取 结束
            
            
        }
    }

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

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

  • 相关阅读:
    Oracle通过最小分区增加分区的SQL
    Oracle获取时间段内的各月底日期
    GET_MAPPING_DQL based on columns
    Oracle 分析问题sql的历史执行情况
    Oracle v$sql,v$sqlarea,v$sqltext区别
    Oracle修改表及分区表的表空间
    Oracle tablespace size sql
    ORACLE alter table storage
    Emmet的HTML语法(快速生成代码)
    Js中replace替换所有.
  • 原文地址:https://www.cnblogs.com/leigood/p/5436618.html
Copyright © 2011-2022 走看看