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 相关文章推荐
PHP5中使用PDO连接数据库的方法
Aug 01 PHP
一致性哈希算法以及其PHP实现详细解析
Aug 24 PHP
显示程序执行时间php函数代码
Aug 29 PHP
div li的多行多列 无刷新分页示例代码
Oct 16 PHP
使用YUI+Ant 实现JS CSS压缩
Sep 02 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
PHP简单遍历对象示例
Sep 28 PHP
Ubuntu 16.04下安装PHP 7过程详解
Mar 28 PHP
PHP whois查询类定义与用法示例
Apr 03 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
Jan 26 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 PHP
PHP fopen中文文件名乱码问题解决方案
Oct 28 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 Undefined index报错的修复方法
2011/07/17 PHP
浅析SVN常见问题及解决方法
2013/06/21 PHP
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
2014/04/10 PHP
理解PHP中的stdClass类
2014/04/18 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
php获得客户端浏览器名称及版本的方法(基于ECShop函数)
2015/12/23 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
User Scripts: Video Download by User Scripts
2007/05/14 Javascript
js设置cookie过期及清除浏览器对应名称的cookie
2013/10/24 Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
2014/05/27 Javascript
Window.Open如何在同一个标签页打开
2014/06/20 Javascript
Javascript获取CSS伪元素属性的实现代码
2014/09/28 Javascript
浅析javascript中函数声明和函数表达式的区别
2015/02/15 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
jQuery实现区域打印功能代码详解
2016/06/17 Javascript
基于vue2的table分页组件实现方法
2017/03/20 Javascript
原生JS实现圆环拖拽效果
2017/04/07 Javascript
nodejs项目windows下开机自启动的方法
2017/11/22 NodeJs
bootstrap实现点击删除按钮弹出确认框的实例代码
2018/08/16 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
js实现点击上传图片并设为模糊背景
2020/08/02 Javascript
[02:43]DOTA2亚洲邀请赛场馆攻略——带你走进东方体育中心
2018/03/19 DOTA
Python入门篇之字符串
2014/10/17 Python
Python利用Beautiful Soup模块创建对象详解
2017/03/27 Python
Python设计实现的计算器功能完整实例
2017/08/18 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
Python多图片合并PDF的方法
2019/01/03 Python
在Django model中设置多个字段联合唯一约束的实例
2019/07/17 Python
Django中自定义查询对象的具体使用
2019/10/13 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
志愿者宣传口号
2014/06/17 职场文书
员工辞职信怎么写
2015/02/27 职场文书
大学班长竞选稿
2015/11/20 职场文书
Java实现斗地主之洗牌发牌
2021/06/14 Java/Android
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers