zoukankan      html  css  js  c++  java
  • 夺命雷公狗ThinkPHP项目之----企业网站28之网站前台左侧导航的实现

    我们基于刚才在model层的找顶级分类的代码在进行修改即可:

    <?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);
            //头部二级分类的显示 结束
            
    
                
            if($cateid = I('cate_id')){    //加这个判断主要避免首页报错,因为首页不用接收任何信息
                //列表页和产品页的面包屑导航 开始
                $mod = D('Category');
                $res = $mod -> getparent($cateid);
                //dump($res);
                $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);
                    //这里是左侧导航 开始
                    $topid = $catetop['cate_id']; //取出顶级栏目的id
                    $cateson = $mod -> where("cate_pid=$topid") -> select(); //相当于找儿子他爹
                    $this -> assign('cateson',$cateson);
                    //dump($cateson);
                    //这里是左侧导航 结束
                }else{
                    //如果等于0,直接等于顶级栏目即可
                    $catetop = $cateone;
                    $this -> assign('catetop',$catetop);
                    
                    //顶级栏目找子级栏目 开始
                    $topid = $catetop['cate_id']; //取出顶级栏目的id
                    $cateson = $mod -> where("cate_pid=$topid") -> select(); //相当于找儿子他爹
                    $this -> assign('cateson',$cateson);
                    //顶级栏目找子级栏目 结束
                }
            }
            
        }
    }

    然后分配到lists.html和page.html模版上即可:

    测试下:

    已经可以成功调用了,,,YES,但是发现一个问题,我们的首页不能用了,

    那么我们commonController.class.php首页也是继承了这,但是首页没有cate_id,所以我们给一个判断他问题即可解决:

    这样我们的问题即可解决了。。。。

  • 相关阅读:
    机器学习项目流程(二)探索并可视化数据
    机器学习项目流程(一)初探数据集
    数据类型.md
    keepalived.md
    LVS.md
    tomcat多实例.md
    LANMP常用配置.md
    php-fpm配置参数.md
    Nginx学习.md
    Redis.md
  • 原文地址:https://www.cnblogs.com/leigood/p/5437400.html
Copyright © 2011-2022 走看看