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 相关文章推荐
不用数据库的多用户文件自由上传投票系统(2)
Oct 09 PHP
mysql 中InnoDB和MyISAM的区别分析小结
Apr 15 PHP
php 数组二分法查找函数代码
Feb 16 PHP
PHP学习之字符串比较和查找
Apr 17 PHP
php在多维数组中根据键名快速查询其父键以及父键值的代码
May 07 PHP
PHP四舍五入精确小数位及取整
Jan 14 PHP
codeigniter自带数据库类使用方法说明
Mar 25 PHP
thinkPHP实现瀑布流的方法
Nov 29 PHP
php for 循环使用的简单实例
Jun 02 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
Oct 25 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
May 31 PHP
PhpStorm+xdebug+postman调试技巧分享
Sep 15 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
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
jQuery实现表头固定效果的实例代码
2013/05/24 Javascript
浅析js中的浮点型运算问题
2014/01/06 Javascript
node.js中的fs.appendFileSync方法使用说明
2014/12/17 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
node.js中module.exports与exports用法上的区别
2016/09/02 Javascript
nodejs+websocket实时聊天系统改进版
2017/05/18 NodeJs
用angular实现多选按钮的全选与反选实例代码
2017/05/23 Javascript
3分钟读懂移动端rem使用方法(推荐)
2019/05/06 Javascript
layer.open组件获取弹出层页面变量、函数的实例
2019/09/25 Javascript
jquery实现两个div中的元素相互拖动的方法分析
2020/04/05 jQuery
如何基于layui的laytpl实现数据绑定的示例代码
2020/04/10 Javascript
[06:16]第十四期-国士无双绝地翻盘之撼地神牛
2014/06/24 DOTA
[43:58]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第一场 1月8日
2021/03/11 DOTA
[01:03:41]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第三场 2月2日
2021/03/11 DOTA
Python中的各种装饰器详解
2015/04/11 Python
Python调用C++程序的方法详解
2017/01/24 Python
python中numpy.zeros(np.zeros)的使用方法
2017/11/07 Python
在dataframe两列日期相减并且得到具体的月数实例
2018/07/03 Python
python执行CMD指令,并获取返回的方法
2018/12/19 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
爱尔兰家电数码商城:Currys PC World爱尔兰
2016/07/23 全球购物
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
设置器与访问器的定义以及各自特点
2016/01/08 面试题
学校校庆演讲稿
2014/05/22 职场文书
村主任个人对照检查材料
2014/10/01 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
2015年度物流工作总结
2015/04/30 职场文书
CSS中Single Div 绘图技巧的实现
2021/06/18 HTML / CSS
Java 语言中Object 类和System 类详解
2021/07/07 Java/Android
什么是动态刷新率DRR? Windows11动态刷新率功能介绍
2021/11/21 数码科技
vue封装数字翻牌器
2022/04/20 Vue.js
mysql函数之截取字符串的实现
2022/08/14 MySQL