搜索
系统检测到您的用户名不符合规范:

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

浏览:2442 发布日期:2016年08月30日 分类:功能实现 关键字: 面包屑,分类,OneThink
想在项目中增加分类的面包屑路径,但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):
'<a href="'.U('Home/Index/index'). '" alt="首页" >首页</a>';

$str .= ' > <a href="'.U('Home/Article/'.$temp,array('category'=>$id)).'" alt="'.get_category_title($id).'">'.get_category_title($id).'</a>';

return $str;
}
最后前端标签调用函数get_bread(){:get_bread($category['id'])}
收藏
tealun
积分:233 等级:LV1
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /