thinkphp实现面包屑导航(当前位置)例子分享


Posted in PHP onMay 10, 2014

以前栏目很少,就用死办法做的(首页 -> 栏目的名字),现在栏目多了,渐渐二级栏目,三级栏目也来了,这样的方式显然不太合适,于是就改进了一下。也不难,利用一个递归函数就可以了。

使用例子:

//当前位置-第一个参数 catid为当前栏目的id,第二个参数为文章的标题,调用栏目当前位置时第二个参数为空即可。
$this->assign("now_here",$this->now_here($catid,$res['title']));

实现代码:

//解释一下,栏目表category中的catid为栏目id,catname为栏目名称,asmenu为栏目父级的id,当为顶级栏目时,asmenu为0 。
protected function now_here($catid,$ext=''){
 $cat = M("Category");
 $here = '<a href="https://3water.com">首页</a>';
 $uplevels = $cat->field("catid,catname,asmenu")->where("catid=$catid")->find();
 if($uplevels['asmenu'] != 0)
 $here .= $this->get_up_levels($uplevels['asmenu']);
 $here .= ' -> <a href="/cat_'.$uplevels['catid'].'.html">'.$uplevels['catname']."</a>";
 if($ext != '') $here .= ' -> '.$ext;
 return $here;
}
protected function get_up_levels($id){
 $cat = M("Category");
 $here = '';
 $uplevels = $cat->field("catid,catname,asmenu")->where("catid=$id")->find();
 $here .= ' -> <a href="/cat_'.$uplevels['catid'].'.html">'.$uplevels['catname']."</a>";
 if($uplevels['asmenu'] != 0){
  $here = $this->get_up_levels($uplevels['asmenu']).$here;
 }
 return $here;
}
PHP 相关文章推荐
PHP 批量更新网页内容实现代码
Jan 05 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
Jun 23 PHP
浅析get与post的一些特殊情况
Jul 28 PHP
php获取URL中带#号等特殊符号参数的解决方法
Sep 02 PHP
php获取客户端电脑屏幕参数的方法
Jan 09 PHP
php中JSON的使用方法
Apr 30 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
Oct 10 PHP
PHP对象克隆clone用法示例
Sep 28 PHP
thinkPHP线上自动加载异常与修复方法实例分析
Dec 01 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
Dec 13 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
Sep 17 PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
May 10 #PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
May 10 #PHP
php使用正则过滤js脚本代码实例
May 10 #PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
May 10 #PHP
php中curl和file_get_content的区别
May 10 #PHP
php实现文件下载功能的几个代码分享
May 10 #PHP
php按百分比生成缩略图的代码分享
May 10 #PHP
You might like
php 数组二分法查找函数代码
2010/02/16 PHP
PHP中substr()与explode()函数用法分析
2014/11/24 PHP
PHP SESSION的增加、删除、修改、查看操作
2015/03/20 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
2016/03/01 PHP
Laravel中GraphQL接口请求频率实战记录
2020/09/01 PHP
js静态方法与实例方法分析
2011/07/04 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
javascript面向对象入门基础详细介绍
2012/09/05 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
2012/12/07 Javascript
js实现全屏漂浮广告移入光标停止移动
2013/12/02 Javascript
深入理解JS中的变量及作用域、undefined与null
2014/03/04 Javascript
Jquery中基本选择器用法实例详解
2015/05/18 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
2015/08/30 Javascript
jQuery实现页面顶部显示的进度条效果完整实例
2015/12/09 Javascript
Bootstrap学习笔记之js组件(4)
2016/06/12 Javascript
微信小程序 条件渲染详解
2016/10/09 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
Vue.js用法详解
2017/11/13 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
2018/02/26 Javascript
微信小程序input框中加入小图标的实现方法
2018/06/19 Javascript
video.js 实现视频只能后退不能快进的思路详解
2018/08/09 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
2019/12/12 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
2020/07/22 Javascript
Python中文件遍历的两种方法
2014/06/16 Python
python运行时间的几种方法
2016/06/17 Python
python psutil模块使用方法解析
2019/08/01 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
softmax及python实现过程解析
2019/09/30 Python
CSS3实现自定义Checkbox特效实例代码
2017/04/24 HTML / CSS
医药专业推荐信
2013/11/15 职场文书
晚会邀请函范文
2014/01/24 职场文书
医药营销个人求职信范文
2014/02/07 职场文书
学员自我鉴定
2014/03/19 职场文书
辞职信标准格式
2015/02/27 职场文书