thinkphp获取栏目和文章当前位置的方法


Posted in PHP onOctober 29, 2014

本文实例讲述了thinkphp获取栏目和文章当前位置的方法。分享给大家供大家参考。具体实现方法如下:

今天把博客一些细节完善了一下,其中修改了一下栏目页和文章页中的“当前位置”。以前栏目很少,就用死办法做的(首页 -> 栏目的名字),现在栏目多了,渐渐二级栏目,三级栏目也来了,这样的方式显然不太合适,于是就改进了一下。也不难,利用一个递归函数就可以了。

测试效果如下图所示:

thinkphp获取栏目和文章当前位置的方法

查看源文件效果:

<a href="https://3water.com">首页</a> -> <a href="/cat_2.html">PHP学习</a> -> <a href="/cat_9.html">ecshop</a> -> <a href="/cat_13.html">ecshop二次开发</a> -> ecshop加入百度地图,支持周边标记
//当前位置-第一个参数 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 相关文章推荐
动态生成gif格式的图像要注意?
Oct 09 PHP
PHP下操作Linux消息队列完成进程间通信的方法
Jul 24 PHP
window+nginx+php环境配置 附配置搭配说明
Dec 29 PHP
PHP 八种基本的数据类型小结
Jun 01 PHP
PHP解析RSS的方法
Mar 05 PHP
PHP保存session到memcache服务器的方法
Jan 19 PHP
php发送http请求的常用方法分析
Nov 08 PHP
Yii框架创建cronjob定时任务的方法分析
May 23 PHP
php实现基于pdo的事务处理方法示例
Jul 21 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
Sep 30 PHP
PHP自定义错误处理的方法分析
Dec 19 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
Apr 02 PHP
thinkphp实现like模糊查询实例
Oct 29 #PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
Oct 29 #PHP
PHP多个文件上传到服务器实例
Oct 29 #PHP
php跨站攻击实例分析
Oct 28 #PHP
php获取根域名方法汇总
Oct 28 #PHP
3款值得推荐的微信开发开源框架
Oct 28 #PHP
smarty中英文多编码字符截取乱码问题解决方法
Oct 28 #PHP
You might like
利用PHP制作简单的内容采集器的原理分析
2008/10/01 PHP
php array_filter除去数组中的空字符元素
2020/06/21 PHP
php将图片保存为不同尺寸图片的图片类实例
2015/03/30 PHP
PHP之图片上传类实例代码(加了缩略图)
2016/06/30 PHP
简单的自定义php模板引擎
2016/08/26 PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
2020/06/02 PHP
javascript 获取元素位置的快速方法 getBoundingClientRect()
2009/11/26 Javascript
jQuery的attr与prop使用介绍
2013/10/10 Javascript
window.onresize 多次触发的解决方法
2013/11/08 Javascript
jQuery实现图片预加载效果
2015/11/27 Javascript
详解js私有作用域中创建特权方法
2016/01/25 Javascript
基于jQuery ligerUI实现分页样式
2016/09/18 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
原生js二级联动效果
2017/06/20 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
2017/12/19 Javascript
简单的Vue异步组件实例Demo
2017/12/27 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
AjaxFileUpload.js实现异步上传文件功能
2019/04/19 Javascript
vue实现的上拉加载更多数据/分页功能示例
2019/05/25 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
2020/08/05 Javascript
Python的randrange()方法使用教程
2015/05/15 Python
Python批量修改文本文件内容的方法
2016/04/29 Python
Python编程argparse入门浅析
2018/02/07 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
使用python实现希尔、计数、基数基础排序的代码
2019/12/25 Python
美国半成品食材配送服务商:Home Chef
2018/01/25 全球购物
Street One瑞士:德国现代时装公司
2019/10/09 全球购物
前台接待的工作职责
2013/11/21 职场文书
广告词串烧
2014/03/19 职场文书
消防安全责任书
2014/04/14 职场文书
科学发展观活动总结
2014/08/28 职场文书
民事赔偿协议书
2014/11/02 职场文书
《1942》观后感
2015/06/08 职场文书
多台电脑共享文件怎么设置?多台电脑共享文件操作教程
2022/04/08 数码科技