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 相关文章推荐
中国站长站 For Dede4.0 采集规则
May 27 PHP
在服务端进行目录建立、删除,文件上传、删除的过程的php代码
Sep 10 PHP
PHP中PDO基础教程 入门级
Sep 04 PHP
PHP base64编码后解码乱码的解决办法
Jun 19 PHP
Destoon模板制作简明教程
Jun 20 PHP
自编函数解决pathinfo()函数处理中文问题
Nov 03 PHP
Laravel中Trait的用法实例详解
Mar 16 PHP
Yii2前后台分离及migrate使用(七)
May 04 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
Oct 10 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
Jun 12 PHP
PHP面向对象之工作单元(实例讲解)
Jun 26 PHP
PHP基于IMAP收取邮件的方法示例
Aug 07 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
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
php数组总结篇(一)
2008/09/30 PHP
简单谈谈PHP中strlen 函数
2016/02/27 PHP
php实现遍历文件夹的方法汇总
2017/03/02 PHP
tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
2019/01/10 PHP
thinkphp5.1框架模板布局与模板继承用法分析
2019/07/19 PHP
Javascript 实用小技巧
2010/04/07 Javascript
JavaScript解析URL参数示例代码
2013/08/12 Javascript
谈谈Jquery中的children find 的区别有哪些
2015/10/19 Javascript
详解JavaScript逻辑Not运算符
2015/12/04 Javascript
常见的javascript跨域通信方法
2015/12/31 Javascript
js编写的treeview使用方法
2016/11/11 Javascript
JavaScript基础之流程控制语句的用法
2017/08/31 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
2017/10/25 Javascript
通过JavaScript下载文件到本地的方法(单文件)
2019/03/17 Javascript
浅谈JS中this在各个场景下的指向
2019/08/14 Javascript
layui插件表单验证提交触发提交的例子
2019/09/09 Javascript
vue远程加载sfc组件思路详解
2019/12/25 Javascript
Python设计模式之代理模式实例
2014/04/26 Python
Python中第三方库Requests库的高级用法详解
2017/03/12 Python
用生成器来改写直接返回列表的函数方法
2017/05/25 Python
使用django-guardian实现django-admin的行级权限控制的方法
2018/10/30 Python
python实现连续图文识别
2018/12/18 Python
Python使用matplotlib 模块scatter方法画散点图示例
2019/09/27 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
2020/01/10 Python
基于python实现地址和经纬度转换
2020/05/19 Python
H5离线存储Manifest原理及使用
2020/04/28 HTML / CSS
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
Aerosoles爱柔仕官网:美国舒软女鞋品牌
2017/07/17 全球购物
美国在线购买内衣网站:HerRoom
2020/02/22 全球购物
美体小铺法国官方网站:The Body Shop法国
2020/06/04 全球购物
北京离婚协议书范文2014
2014/09/29 职场文书
高中校园广播稿
2014/10/21 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
《七月的天山》教学反思
2016/02/19 职场文书
Python 文本滚动播放器的实现代码
2021/04/25 Python