• 技术文章 >php教程 >php手册

    OneThink基于分类的导航面包屑代码

    2016-08-31 08:41:13原创567
    想在项目中增加分类的面包屑路径,但oneThink前台好像没有提供这样的功能,就自己动手写了一个,希望对大家有用。
    我们在搭建网站的时候,经常要用到面包屑导航,一般这种导航都是基于多级分类,然后一级一级地往上推的,在oneThink中,无论是列表页还是文章页,都定义了当前分类$category的变量,因此,我们用这个变量里的id利用前端模块的函数调用就能生成当前路径了。

    话不多说,先在HOME模块的function里建立一个用于查找分类指定字段内容的函数 get_category_info();,意在查询pid 和 allow_publish字段/**查找指定分类的指定字段内容
    * @param $id
    * @param string $field
    * @return mixed|string
    */
    function get_category_info($id,$field=""){

    if(!$field){
    return '没有指定查找字段';
    }else{
    $map = array(
    'id'=>array('eq',$id),
    'status'=>array('eq',1)
    );
    $re = M('category')->where($map)->getField($field);
    return $re;
    }
    }
    而后建立get_bread()函数/**
    * 获取面包屑
    * 基于分类生成分类面包屑
    * @param $id 当前分类ID
    */
    function get_bread($id){
    //查询pid
    $pid = get_category_info($id,'pid');
    //根据当前分类是否允许发布内容来确定用index模版还是lists模版
    $temp = get_category_info($id,'allow_publish')?'lists':'index';

    $str = $pid?
    get_bread($pid):
    '首页';

    $str .= ' > '.get_category_title($id).'';

    return $str;
    }
    最后前端标签调用函数get_bread(){:get_bread($category['id'])}

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:Workerman+layerIM+ThinkPHP5的webIM,即时通讯系统 下一篇:分享第八套很精致的会员中心完整UI
    大前端线上培训班

    相关文章推荐

    • PHP类(Class)入门教程第1/2页_php基础• php中实现api接口思路介绍 • startos安装apache,php,mysql• php获取英文姓名首字母的方法• php的memcached扩展

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网