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 相关文章推荐
动态网站web开发 PHP、ASP还是ASP.NET
Oct 09 PHP
php获取url字符串截取路径的文件名和扩展名的函数
Jan 22 PHP
PHP 文件缓存的性能测试
Apr 25 PHP
php数组函数序列之array_pop() - 删除数组中的最后一个元素
Nov 07 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
Nov 26 PHP
PHP5.3与5.5废弃与过期函数整理汇总
Jul 10 PHP
PHP采集静态页面并把页面css,img,js保存的方法
Dec 23 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
Apr 05 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
php判断电子邮件是否正确方法
Dec 04 PHP
PHP常见字符串操作函数与用法总结
Mar 04 PHP
Yii框架函数简单用法分析
Sep 09 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网页后退不再出现过期
2007/03/08 PHP
php之对抗Web扫描器的脚本技巧
2008/10/01 PHP
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
不使用中间变量,交换int型的 a, b两个变量的值。
2010/10/29 Javascript
Javascript自定义函数判断网站访问类型是PC还是移动终端
2014/01/10 Javascript
JS实现的一个简单的Autocomplete自动完成例子
2014/04/16 Javascript
JavaScript中setUTCFullYear()方法的使用简介
2015/06/12 Javascript
AngularJS的表单使用详解
2015/06/17 Javascript
TypeOf这些知识点你了解吗
2016/02/21 Javascript
jQuery实现简单的网页换肤效果示例
2016/09/18 Javascript
Vue.js实现简单ToDoList 前期准备(一)
2016/12/01 Javascript
js以及jquery实现手风琴效果
2020/04/17 Javascript
纯原生js实现贪吃蛇游戏
2020/04/16 Javascript
EasyUI中的dataGrid的行内编辑
2017/06/22 Javascript
Vue.js结合Ueditor富文本编辑器的实例代码
2017/07/11 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
2017/07/19 Javascript
基于Datatables跳转到指定页的简单实例
2017/11/09 Javascript
vue使用中的内存泄漏【推荐】
2018/07/10 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
vue-cli 3 全局过滤器的实例代码详解
2019/06/03 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
JavaScript获取时区实现过程解析
2020/09/24 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
[20:30]职业巡回赛回顾
2018/08/09 DOTA
Python字符串处理函数简明总结
2015/04/13 Python
Python列表切片用法示例
2017/04/19 Python
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
解决python运行效率不高的问题
2020/07/20 Python
CSS3中设置3D变形的transform-style属性详解
2016/05/23 HTML / CSS
Charlotte Tilbury澳大利亚官网:英国美妆品牌
2018/10/05 全球购物
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
说出一些常用的类,包,接口
2014/09/22 面试题
个人求职信范例
2014/01/29 职场文书
文明宿舍获奖感言
2014/02/07 职场文书
女儿满月酒致辞
2015/07/29 职场文书