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开发文件系统实例讲解
Oct 09 PHP
php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
Oct 29 PHP
php创建session的方法实例详解
Jan 27 PHP
PHP两种快速排序算法实例
Feb 15 PHP
php安装swoole扩展的方法
Mar 19 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
Jul 04 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
Mar 12 PHP
php微信开发之关键词回复功能
Jun 13 PHP
微信小程序发送订阅消息的方法(php 为例)
Oct 30 PHP
PHP强制转化的形式整理
May 22 PHP
详解Laravel服务容器的优势
May 29 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 配置open_basedir 让各虚拟站点独立运行
2009/11/12 PHP
PHP 根据key 给二维数组分组
2016/12/09 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
PHP 断点续传实例详解
2017/11/11 PHP
用js模拟JQuery的show与hide动画函数代码
2010/09/20 Javascript
input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
2013/04/02 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
2013/04/07 Javascript
Jquery绑定事件(bind和live的区别介绍)
2013/08/23 Javascript
js完美的div拖拽实例代码
2014/01/22 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
2017/02/14 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
微信小程序实现鼠标拖动效果示例
2017/12/01 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
在Vue项目中,防止页面被缩放和放大示例
2019/10/28 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
使用JS实现鼠标放上图片进行放大离开实现缩小功能
2021/01/27 Javascript
手动实现把python项目发布为exe可执行程序过程分享
2014/10/23 Python
python简单猜数游戏实例
2015/07/09 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
python中文乱码不着急,先看懂字节和字符
2017/12/20 Python
Python基于dom操作xml数据的方法示例
2018/05/12 Python
Python3离线安装Requests模块问题
2019/10/13 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
完美解决Django2.0中models下的ForeignKey()问题
2020/05/19 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
2020/05/26 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
html5 canvas的绘制文本自动换行的示例代码
2018/09/17 HTML / CSS
英国床和浴室商场:Bed & Bath Emporium
2018/05/20 全球购物
意大利奢侈品购物网站:Deliberti
2019/10/08 全球购物
韩语专业本科生求职信
2013/10/01 职场文书
外贸业务员求职信范文
2013/12/12 职场文书
详解TS数字分隔符和更严格的类属性检查
2021/05/06 Javascript
如何将numpy二维数组中的np.nan值替换为指定的值
2021/05/14 Python
从原生JavaScript到React深入理解
2022/07/23 Javascript