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 相关文章推荐
杏林同学录(四)
Oct 09 PHP
随时给自己贴的图片加文字的php水印
Mar 16 PHP
常用的php ADODB使用方法集锦
Mar 25 PHP
php实现利用phpexcel导出数据
Aug 24 PHP
php不允许用户提交空表单(php空值判断)
Nov 12 PHP
php分页函数示例代码分享
Feb 24 PHP
查找php配置文件php.ini所在路径的二种方法
May 26 PHP
php设计模式之单例模式实例分析
Feb 25 PHP
php删除文本文件中重复行的方法
Apr 28 PHP
php比较两个字符串长度的方法
Jul 13 PHP
使用PHP如何实现高效安全的ftp服务器(二)
Dec 30 PHP
Yii2.0 模态弹出框+ajax提交表单
May 22 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获取mysql数据库中的所有表名的代码
2011/04/23 PHP
关于使用key/value数据库redis和TTSERVER的心得体会
2013/06/28 PHP
php中url函数介绍及使用示例
2014/02/13 PHP
ThinkPHP3.1数据CURD操作快速入门
2014/06/19 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
javascript 框架小结 个人工作经验
2009/06/13 Javascript
基于Jquery的简单图片切换效果
2011/01/06 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
轻松学习jQuery插件EasyUI EasyUI实现树形网络基本操作(2)
2015/11/30 Javascript
深入理解JavaScript中的并行处理
2016/09/22 Javascript
JS实现根据用户输入分钟进行倒计时功能
2016/11/14 Javascript
Canvas 制作动态进度加载水球详解及实例代码
2016/12/09 Javascript
详解使用Node.js 将txt文件转为Excel文件
2017/07/05 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
AngularJs+Bootstrap实现漂亮的计算器
2017/08/10 Javascript
vue中的event bus非父子组件通信解析
2017/10/27 Javascript
VUE脚手架具体使用方法
2019/05/20 Javascript
[02:19]DOTA2女子战队FOX视频专访:希望更多美眉一起加入
2013/10/15 DOTA
[01:08:44]NB vs VP 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
解决Python的str强转int时遇到的问题
2018/04/09 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
css3实现可滑动跳转的分页插件示例
2014/05/08 HTML / CSS
利用HTML5 Canvas制作键盘及鼠标动画的实例分享
2016/03/15 HTML / CSS
荷兰在线啤酒店:Beerwulf
2019/08/26 全球购物
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
linux面试题参考答案(6)
2014/08/29 面试题
高中毕业自我鉴定范文
2013/10/02 职场文书
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
《充气雨衣》教学反思
2014/04/07 职场文书
法人任命书范本
2014/06/04 职场文书
会计求职信怎么写
2015/03/20 职场文书
2016中秋节问候语
2015/11/11 职场文书
利用Sharding-Jdbc进行分库分表的操作代码
2022/01/22 Java/Android
SQL Server中常用截取字符串函数介绍
2022/03/16 SQL Server
Python pyecharts绘制条形图详解
2022/04/02 Python