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 01 PHP
fgetcvs在linux的问题
Jan 15 PHP
常用PHP框架功能对照表
Oct 23 PHP
PHP类的封装与继承详解
Sep 29 PHP
浅析php设计模式之数据对象映射模式
Mar 03 PHP
Symfony2创建页面实例详解
Mar 18 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
Apr 30 PHP
php 使用html5实现多文件上传实例
Oct 24 PHP
PHP使用PDO调用mssql存储过程的方法示例
Oct 07 PHP
使用laravel根据用户类型来显示或隐藏字段
Oct 17 PHP
Laravel自动生成UUID,从建表到使用详解
Oct 24 PHP
Laravel5.1 框架响应基本用法实例分析
Jan 04 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生成N个不重复的随机数实例
2013/11/12 PHP
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
AngularJS directive返回对象属性详解
2016/03/28 Javascript
javascript图片预览和上传(兼容IE)
2017/03/15 Javascript
axios基本入门用法教程
2017/03/25 Javascript
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
深入理解Vue router的部分高级用法
2018/08/15 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
2018/11/22 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
2019/07/22 Javascript
微信小程序实现图片选择并预览功能
2019/07/25 Javascript
JavaScript:ES2019 的新特性(译)
2019/08/08 Javascript
VUE实现密码验证与提示功能
2019/10/18 Javascript
js实现磁性吸附的示例
2020/10/26 Javascript
python冒泡排序算法的实现代码
2013/11/21 Python
python3访问sina首页中文的处理方法
2014/02/24 Python
python持久性管理pickle模块详细介绍
2015/02/18 Python
深入解析Python设计模式编程中建造者模式的使用
2016/03/02 Python
Python通过调用mysql存储过程实现更新数据功能示例
2018/04/03 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
Python图像处理之简单画板实现方法示例
2018/08/30 Python
python实现控制台打印的方法
2019/01/12 Python
python OpenCV GrabCut使用实例解析
2019/11/11 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
2020/11/24 Python
深入解读CSS3中transform变换模型的渲染
2016/05/27 HTML / CSS
amazeui时间组件的实现示例
2020/08/18 HTML / CSS
ECCO爱步美国官网:来自丹麦的鞋履品牌
2016/11/23 全球购物
西班牙香水和化妆品购物网站:Arenal Perfumerías
2019/03/01 全球购物
会计电算化专业毕业生求职信范文
2013/12/10 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
竞聘上岗演讲
2014/05/19 职场文书
护校行动方案
2014/05/31 职场文书
2014年科研工作总结
2014/12/03 职场文书
暑期社会实践个人总结
2015/03/06 职场文书
如何拟写通知正文?
2019/04/02 职场文书