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 相关文章推荐
实例(Smarty+FCKeditor新闻系统)
Jan 02 PHP
PHP操作MongoDB时的整数问题及对策说明
May 02 PHP
phpmailer发送gmail邮件实例详解
Jun 24 PHP
PHP Global定义全局变量使用说明
Aug 15 PHP
zend optimizer在wamp的基础上安装图文教程
Oct 26 PHP
ThinkPHP惯例配置文件详解
Jul 14 PHP
php switch语句多个值匹配同一代码块应用示例
Jul 29 PHP
php使用fopen创建utf8编码文件的方法
Oct 31 PHP
php去掉文件前几行的方法
Jul 29 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
Dec 23 PHP
利用laravel+ajax实现文件上传功能方法示例
Aug 13 PHP
PDO::inTransaction讲解
Jan 28 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插入中文到sqlserver 2008里出现乱码的解决办法分享
2012/07/19 PHP
php页面缓存方法小结
2015/01/10 PHP
PHP两种快速排序算法实例
2015/02/15 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
全面了解PHP中的全局变量
2016/06/17 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
php如何实现数据库的备份和恢复
2020/11/30 PHP
javascript 年月日联动实现核心代码
2009/12/21 Javascript
JS注释所产生的bug 即使注释也会执行
2013/11/19 Javascript
javascript下拉框选项单击事件的例子分享
2015/03/04 Javascript
jQuery使用$.get()方法从服务器文件载入数据实例
2015/03/25 Javascript
javascript实现的固定位置悬浮窗口实例
2015/04/30 Javascript
javascript页面倒计时实例
2015/07/25 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
简单谈谈原生js的math对象
2017/06/27 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
详解在React项目中安装并使用Less(用法总结)
2019/03/18 Javascript
JS根据json数组多个字段排序及json数组常用操作
2019/06/06 Javascript
Node.js爬虫如何获取天气和每日问候详解
2019/08/26 Javascript
Pycharm取消py脚本中SQL识别的方法
2018/11/29 Python
Python检查ping终端的方法
2019/01/26 Python
Python基于smtplib协议实现发送邮件
2020/06/03 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
2021/02/03 Python
canvas像素画板的实现代码
2018/11/21 HTML / CSS
HTML5本地数据库基础操作详解
2016/04/26 HTML / CSS
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
struct和class的区别
2015/11/20 面试题
临床医师专业个人自我评价范文
2013/11/07 职场文书
公司合作协议书范本
2014/04/18 职场文书
运动会演讲稿300字
2014/08/25 职场文书
爱心捐助活动总结
2015/05/09 职场文书
首席执行官观后感
2015/06/03 职场文书
党员发展大会主持词
2015/07/03 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
强烈推荐:小学生:暑假作息时间表(值得收藏)
2019/07/09 职场文书
告诉你创业计划书的8个实用技巧
2019/07/12 职场文书