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(1)
Oct 09 PHP
基于php下载文件的详解
Jun 02 PHP
phpmailer发送gmail邮件实例详解
Jun 24 PHP
解析在zend Farmework下如何创立一个FORM表单
Jun 28 PHP
二进制交叉权限微型php类分享
Feb 07 PHP
PHP四大安全策略
Mar 12 PHP
php+js iframe实现上传头像界面无跳转
Apr 29 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
Mar 23 PHP
php实现的二分查找算法示例
Jun 20 PHP
yii2中LinkPager增加总页数和总记录数的实例
Aug 28 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
Nov 13 PHP
PHP使用PDO实现mysql防注入功能详解
Dec 20 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
Zend Guard一些常见问题解答
2008/09/11 PHP
PHP+ACCESS 文章管理程序代码
2010/06/21 PHP
心扬JS分页函数代码
2010/09/10 Javascript
基于jQuery替换table中的内容并显示进度条的代码
2011/08/02 Javascript
理清apply(),call()的区别和关系
2011/08/14 Javascript
js delete 用法(删除对象属性及变量)
2014/08/24 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
jQuery基于扩展实现的倒计时效果
2016/05/14 Javascript
基于iScroll实现下拉刷新和上滑加载效果
2017/07/18 Javascript
js移动端图片压缩上传功能
2020/08/18 Javascript
Angularjs实现控制器之间通信方式实例总结
2018/03/27 Javascript
NodeJS加密解密及node-rsa加密解密用法详解
2018/10/12 NodeJs
微信小程序使用npm支持踩坑
2018/11/07 Javascript
vue 封装 Adminlte3组件的实现
2020/03/18 Javascript
javascript canvas实现简易时钟例子
2020/09/05 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
[50:48]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[01:06:43]完美世界DOTA2联赛PWL S3 PXG vs GXR 第二场 12.19
2020/12/24 DOTA
Python中if __name__ == &quot;__main__&quot;详细解释
2014/10/21 Python
在Python中使用mechanize模块模拟浏览器功能
2015/05/05 Python
详解Python中的相对导入和绝对导入
2017/01/06 Python
python中yaml配置文件模块的使用详解
2018/04/27 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
Django REST Framework之频率限制的使用
2019/09/29 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
AmazeUI框架搭建的方法步骤(图文)
2020/08/17 HTML / CSS
Too Faced官网:美国知名彩妆品牌
2017/03/07 全球购物
海外淘书首选:AbeBooks
2017/07/31 全球购物
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
大学生活自我评价
2014/04/09 职场文书
教师一帮一活动总结
2014/07/08 职场文书
关于考试抄袭的检讨书
2019/11/02 职场文书
Django drf请求模块源码解析
2021/06/08 Python
Java 将PPT幻灯片转为HTML文件的实现思路
2021/06/11 Java/Android
Spring Boot两种全局配置和两种注解的操作方法
2021/06/29 Java/Android
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android