码迷,mamicode.com
首页 > Web开发 > 详细

夺命雷公狗ThinkPHP项目之----企业网站28之网站前台左侧导航的实现

时间:2016-04-27 08:14:47      阅读:387      评论:0      收藏:1      [点我收藏+]

标签:

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

技术分享

 

<?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);
        //头部二级分类的显示 结束
        

            
        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,所以我们给一个判断他问题即可解决:

技术分享

 

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

夺命雷公狗ThinkPHP项目之----企业网站28之网站前台左侧导航的实现

标签:

原文地址:http://www.cnblogs.com/leigood/p/5437400.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!