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 相关文章推荐
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
May 03 PHP
PHP大批量数据操作时临时调整内存与执行时间的方法
Apr 20 PHP
PHP人民币金额数字转中文大写的函数代码
Feb 27 PHP
PHP设计模式之观察者模式(Observer)详细介绍和代码实例
Apr 08 PHP
php5.3以后的版本连接sqlserver2000的方法
Jul 28 PHP
通过php删除xml文档内容的方法
Jan 23 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
Apr 21 PHP
摘自织梦CMS中的图片处理类
Aug 08 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
Dec 21 PHP
微信公众号开发之获取位置信息php代码
Jun 13 PHP
PHP rmdir()函数的用法总结
Jul 02 PHP
详解Go与PHP的语法对比
May 29 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 获取文件权限函数介绍
2013/07/11 PHP
php简单实现多字节字符串翻转的方法
2015/03/31 PHP
PHP获取文件扩展名的4种方法
2015/11/24 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
PHP 多任务秒级定时器的实现方法
2018/05/13 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
2019/05/28 PHP
jQuery操作input值的各种方法总结
2013/11/21 Javascript
Javascript基础教程之变量
2015/01/18 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
javascript和jQuery实现网页实时聊天的ajax长轮询
2016/07/20 Javascript
使用jQuery5分钟快速搞定双色表格的简单实例
2016/08/08 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
AngularJS之页面跳转Route实例代码
2017/03/10 Javascript
微信小程序 滚动到某个位置添加class效果实现代码
2017/04/19 Javascript
微信小程序实现下载进度条的方法
2017/12/08 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
2018/02/09 Javascript
详解Eslint 配置及规则说明
2018/09/10 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
说说如何使用Vuex进行状态管理(小结)
2019/04/14 Javascript
js验证身份证号码记录的方法
2019/04/26 Javascript
JS 数组基本用法入门示例解析
2020/01/16 Javascript
将图片文件嵌入到wxpython代码中的实现方法
2014/08/11 Python
Python实现合并excel表格的方法分析
2019/04/13 Python
使用Python实现跳一跳自动跳跃功能
2019/07/10 Python
详解Python多线程下的list
2020/07/03 Python
python爬虫搭配起Bilibili唧唧的流程分析
2020/12/01 Python
HTML5之语义标签介绍
2016/07/07 HTML / CSS
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
德国网上花店:Valentins
2018/08/15 全球购物
如何查看在weblogic中已经发布的EJB
2012/06/01 面试题
小学毕业家长寄语
2014/01/19 职场文书
检查机关党的群众路线个人整改措施
2014/10/04 职场文书
怎样写离婚协议书
2015/01/26 职场文书
琅琊山导游词
2015/02/05 职场文书
2015年机关纠风工作总结
2015/05/15 职场文书
Python实现老照片修复之上色小技巧
2021/10/16 Python