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 相关文章推荐
PHP实现多服务器session共享之NFS共享的方法
Mar 16 PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
Jul 03 PHP
PHP与SQL注入攻击防范小技巧
Sep 16 PHP
php curl常见错误:SSL错误、bool(false)
Dec 28 PHP
PHP中获取时间的下一周下个月的方法
Mar 18 PHP
深入浅出php socket编程
May 13 PHP
php计算税后工资的方法
Jul 28 PHP
php模板引擎技术简单实现
Mar 15 PHP
PHP面向对象程序设计之类与反射API详解
Dec 02 PHP
ThinkPHP防止重复提交表单的方法实例分析
May 10 PHP
Referer原理与图片防盗链实现方法详解
Jul 03 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 26 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 zip文件解压类代码
2009/12/02 PHP
php简单判断文本编码的方法
2015/07/30 PHP
Yii 2.0自带的验证码使用经验分享
2017/06/19 PHP
PHP不使用内置函数实现字符串转整型的方法示例
2017/07/03 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
2019/03/08 PHP
Laravel框架实现抢红包功能示例
2019/10/31 PHP
JQuery 无废话系列教程(二) jquery实战篇上
2009/06/23 Javascript
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
2010/05/22 Javascript
读jQuery之四(优雅的迭代)
2011/06/20 Javascript
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
Dom 结点创建 基础知识
2011/10/01 Javascript
Jquery 自定义动画概述及示例
2013/03/29 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
jquery与js函数冲突的两种解决方法
2013/09/09 Javascript
js中用window.open()打开多个窗口的name问题
2014/03/13 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
nodejs教程之制作一个简单的文章发布系统
2014/11/21 NodeJs
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
JavaScript将当前时间转换成UTC标准时间的方法
2015/04/06 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
浅谈bootstrap源码分析之tab(选项卡)
2016/06/06 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
2018/03/09 Javascript
Angular6中使用Swiper的方法示例
2018/07/09 Javascript
vue的keep-alive用法技巧
2019/08/15 Javascript
我所理解的JavaScript中的this指向
2020/09/04 Javascript
[00:37]2016完美“圣”典风云人物:AMS宣传片
2016/12/06 DOTA
python 将有序数组转换为二叉树的方法
2019/03/26 Python
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
阿拉伯世界最大的电子商务网站:Souq沙特阿拉伯
2016/10/28 全球购物
蔻驰西班牙官网:COACH西班牙
2019/01/16 全球购物
2014银行领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
2014年英语工作总结
2014/12/20 职场文书
预备党员转正党小组意见
2015/06/01 职场文书