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 相关文章推荐
来自phpguru得Php Cache类源码
Apr 15 PHP
php中的注释、变量、数组、常量、函数应用介绍
Nov 16 PHP
关于Iframe如何跨域访问Cookie和Session的解决方法
Apr 15 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
Jun 17 PHP
PHP编程中的常见漏洞和代码实例
Aug 06 PHP
PHP链接MySQL的常用扩展函数
Oct 23 PHP
php树型类实例
Dec 05 PHP
php获取json数据所有的节点路径
May 17 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
Sep 30 PHP
php微信公众号js-sdk开发应用
Nov 28 PHP
PHP构造二叉树算法示例
Jun 21 PHP
php的无刷新操作实现方法分析
Feb 28 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 解决utf-8和gb2312编码转换问题
2010/03/18 PHP
学习php设计模式 php实现状态模式
2015/12/07 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
PHP面向对象类型约束用法分析
2019/06/12 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
javascript 函数调用的对象和方法
2010/07/01 Javascript
一些常用且实用的原生JavaScript函数
2010/09/08 Javascript
JavaScript中:表达式和语句的区别[译]
2012/09/17 Javascript
parentElement,srcElement的使用小结
2014/01/13 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
2015/11/24 Javascript
JavaScript实现相册弹窗功能(zepto.js)
2016/06/21 Javascript
jQuery实现动态给table赋值的方法示例
2017/07/04 jQuery
vue-router2.0 组件之间传参及获取动态参数的方法
2017/11/10 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
2018/09/28 Javascript
vue实现百度下拉列表交互操作示例
2019/03/12 Javascript
详解iframe跨域的几种常用方法(小结)
2019/04/29 Javascript
JavaScript Array.flat()函数用法解析
2020/09/02 Javascript
python实现的二叉树算法和kmp算法实例
2014/04/25 Python
python3.6环境安装+pip环境配置教程图文详解
2019/06/20 Python
基于Python实现扑克牌面试题
2019/12/11 Python
浅谈Tensorflow加载Vgg预训练模型的几个注意事项
2020/05/26 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
Python logging日志库空间不足问题解决
2020/09/14 Python
CSS3 实现发光边框特效
2020/11/11 HTML / CSS
受欢迎的大学生自我评价
2013/12/05 职场文书
调解协议书
2014/04/16 职场文书
经管应届生求职信范文
2014/05/18 职场文书
2014年质量管理工作总结
2014/12/01 职场文书
银行招聘自荐信
2015/03/06 职场文书
综合素质评价思想道德自我评价
2015/03/09 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
祝寿主持词
2015/07/02 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书
flex弹性布局详解
2022/03/20 HTML / CSS