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编程与应用
Oct 09 PHP
在Windows版的PHP中使用ADO
Oct 09 PHP
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
Jan 29 PHP
PHP中使用gettext来支持多语言的方法
May 02 PHP
PHP入门经历和学习过程分享
Apr 11 PHP
跟我学Laravel之请求(Request)的生命周期
Oct 15 PHP
PHP使用递归生成文章树
Apr 21 PHP
php实现图片上传并进行替换操作
Mar 15 PHP
PHP实现递归目录的5种方法
Oct 27 PHP
CakePHP框架Session设置方法分析
Feb 23 PHP
php使用crypt()函数进行加密
Jun 08 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 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
水质对咖图啡风味的影响具体有哪些
2021/03/03 冲泡冲煮
PHP 文件上传全攻略
2010/04/28 PHP
解析左右值无限分类的实现算法
2013/06/20 PHP
PHP防止注入攻击实例分析
2014/11/03 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
php连接mysql数据库
2017/03/21 PHP
PHP中PDO事务处理操作示例
2018/05/02 PHP
a标签的href和onclick 的事件的区别介绍
2013/07/26 Javascript
JQuery实现表格动态增加行并对新行添加事件
2014/07/30 Javascript
js css 实现遮罩层覆盖其他页面元素附图
2014/09/22 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
js+css绘制颜色动态变化的圈中圈效果
2016/01/27 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
2016/04/13 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
2018/08/06 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
jQuery分组选择器简单用法示例
2019/04/04 jQuery
vue 数据遍历筛选 过滤 排序的应用操作
2020/11/17 Javascript
Python对列表去重的多种方法(四种方法)
2017/12/05 Python
python随机数分布random测试
2018/08/27 Python
opencv python统计及绘制直方图的方法
2019/01/21 Python
python 命名规范知识点汇总
2020/02/14 Python
win10安装python3.6的常见问题
2020/07/01 Python
python获取时间戳的实现示例(10位和13位)
2020/09/23 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
Under Armour安德玛德国官网:美国高端运动科技品牌
2019/03/09 全球购物
餐饮业会计岗位职责
2013/12/19 职场文书
小学教师师德反思
2014/02/03 职场文书
大学生活动总结怎么写
2014/04/29 职场文书
研究生求职自荐书
2014/06/23 职场文书
我的中国梦演讲稿400字
2014/08/19 职场文书
高中国旗下的演讲稿
2014/08/28 职场文书
学术研讨会欢迎词
2015/01/26 职场文书
建筑工程催款函
2015/06/24 职场文书
优秀学生干部主要事迹材料
2015/11/04 职场文书
NodeJs内存占用过高的排查实战记录
2021/05/10 NodeJs
解决persistence.xml配置文件修改存放路径的问题
2022/02/24 Java/Android