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伪造referer实例代码
Sep 20 PHP
php SQL Injection with MySQL
Feb 27 PHP
新浪微博API开发简介之用户授权(PHP基础篇)
Sep 25 PHP
PHP中返回引用类型的方法
Apr 03 PHP
为你总结一些php系统类函数
Oct 21 PHP
Symfony核心类概述
Mar 17 PHP
Yii2中如何使用modal弹窗(基本使用)
May 30 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
Feb 15 PHP
php微信公众号开发之答题连闯三关
Oct 20 PHP
PHP通过GD库实现验证码功能示例
Feb 23 PHP
php校验公钥是否可用的实例方法
Sep 17 PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
Apr 26 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
全国FM电台频率大全 - 8 黑龙江省
2020/03/11 无线电
加速XP搜索功能堪比vista
2007/03/22 PHP
php笔记之:有规律大文件的读取与写入的分析
2013/04/26 PHP
全新Mac配置PHP开发环境教程
2016/02/03 PHP
PHP面向对象程序设计之构造方法和析构方法详解
2019/06/13 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
PHPStorm 2020.1 调试 Nodejs的多种方法详解
2020/09/17 NodeJs
5 cool javascript apps
2007/03/24 Javascript
JavaScript 拾碎[三] 使用className属性
2010/10/16 Javascript
学习从实践开始之jQuery插件开发 对话框插件开发
2012/04/26 Javascript
js取float型小数点后两位数的方法
2014/01/18 Javascript
JS判断字符串字节数并截取长度的方法
2016/03/05 Javascript
AngularJS中的过滤器filter用法完全解析
2016/04/22 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
2017/05/03 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
微信小程序实现倒计时补零功能
2018/07/09 Javascript
express 项目分层实践详解
2018/12/10 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
[50:50]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.20
2020/12/23 DOTA
Python中asyncio与aiohttp入门教程
2018/10/16 Python
python语言元素知识点详解
2019/05/15 Python
Python网络编程之使用TCP方式传输文件操作示例
2019/11/01 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
pycharm 快速解决python代码冲突的问题
2021/01/15 Python
python和opencv构建运动检测器的实现
2021/03/03 Python
中国医药集团国药在线:国药网
2017/02/06 全球购物
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
法国购买二手电子产品网站:Asgoodasnew
2020/03/27 全球购物
《三个小伙伴》教学反思
2014/04/11 职场文书
司法所长先进事迹
2014/06/02 职场文书
2014年科协工作总结
2014/12/09 职场文书
荆州古城导游词
2015/02/06 职场文书
小学数学新课改心得体会
2016/01/22 职场文书