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 相关文章推荐
桌面中心(二)数据库写入
Oct 09 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
Nov 27 PHP
php的list()的一步操作给一组变量进行赋值的使用
May 18 PHP
PHP之短标签开启设置
Jun 17 PHP
解析PHP中常见的mongodb查询操作
Jun 20 PHP
PHP+jQuery 注册模块开发详解
Oct 14 PHP
Yii2单元测试用法示例
Nov 12 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
Mar 15 PHP
php如何比较两个浮点数是否相等详解
Feb 12 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
Oct 11 PHP
Laravel如何实现自动加载类
Oct 14 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 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+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
2011/10/17 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
PHP实现在线阅读PDF文件的方法
2015/06/17 PHP
Smarty模板变量与调节器实例详解
2019/07/20 PHP
判断客户端浏览器是否安装了Flash插件的多种方法
2010/08/11 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
js常用自定义公共函数汇总
2014/01/15 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
2014/08/01 Javascript
JavaScript的内存释放问题详解
2015/01/21 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
javascript事件委托的方式绑定详解
2015/06/10 Javascript
详解http访问解析流程原理
2017/10/18 Javascript
three.js 入门案例详解
2018/01/23 Javascript
在react中使用vuex的示例代码
2018/07/30 Javascript
JavaScript实现鼠标经过表格某行时此行变色
2020/11/20 Javascript
Python with的用法
2014/08/22 Python
python正则分析nginx的访问日志
2017/01/17 Python
Django实现简单分页功能的方法详解
2017/12/05 Python
Python实现最常见加密方式详解
2019/07/13 Python
Django如何简单快速实现PUT、DELETE方法
2019/07/24 Python
django框架基于queryset和双下划线的跨表查询操作详解
2019/12/11 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
python实现logistic分类算法代码
2020/02/28 Python
python如何进行矩阵运算
2020/06/05 Python
耐克亚太地区:Nike APAC
2019/12/07 全球购物
常用UNIX 命令(Linux的常用命令)
2013/07/10 面试题
国际政治个人自荐信范文
2013/11/26 职场文书
汽车服务工程专业自荐信
2014/09/02 职场文书
中学生纪念九一八事变演讲稿
2014/09/14 职场文书
python实现三次密码验证的示例
2021/04/29 Python
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python
JavaScript 原型与原型链详情
2021/11/02 Javascript
Fluentd搭建日志收集服务
2022/09/23 Servers