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 相关文章推荐
从零开始 教你如何搭建Discuz!4.1论坛
Jul 07 PHP
PHP 数字左侧自动补0
Mar 31 PHP
UCenter中的一个可逆加密函数authcode函数代码
Jul 20 PHP
php上传文件的增强函数
Jul 21 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
Nov 10 PHP
关于PHP session 存储方式的详细介绍
Jun 25 PHP
PHP实现批量上传单个文件
Dec 29 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
Mar 21 PHP
php实现生成验证码实例分享
Apr 10 PHP
Symfony2针对输入时间进行查询的方法分析
Jun 28 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
详解Laravel5.6 Passport实现Api接口认证
Jul 27 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中取得image按钮传递的name值
2006/10/09 PHP
PHP学习笔记 用户注册模块用户类以及验证码类
2011/09/20 PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
2013/06/23 PHP
php实现将Session写入数据库
2015/07/26 PHP
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
php微信开发之图片回复功能
2018/06/14 PHP
php查询内存信息操作示例
2019/05/09 PHP
jquery实现点击文字可编辑并修改保存至数据库
2014/04/15 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
JS实现简单的二维矩阵乘积运算
2016/01/26 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
原生JS下拉加载插件分享
2016/12/26 Javascript
详解vue与后端数据交互(ajax):vue-resource
2017/03/16 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
2017/03/29 Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
2017/08/14 jQuery
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
JavaScript 替换所有匹配内容及正则替换方法
2020/02/12 Javascript
JavaScript实现指定数量的并发限制的示例代码
2020/03/10 Javascript
JavaScript实现轮播图特效
2020/04/10 Javascript
Python对小数进行除法运算的正确方法示例
2014/08/25 Python
基于python时间处理方法(详解)
2017/08/14 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
Python比较2个时间大小的实现方法
2018/04/10 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
2018/07/30 Python
简单了解python的内存管理机制
2019/07/08 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
Python3读写ini配置文件的示例
2020/11/06 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
利用CSS3实现开门效果实例源码
2016/08/22 HTML / CSS
在Java开发中如何选择使用哪种集合类
2016/08/09 面试题
中班上学期个人总结
2015/02/12 职场文书
售后前台接待岗位职责
2015/04/03 职场文书
python可视化大屏库big_screen示例详解
2021/11/23 Python
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js