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利用COM对象访问SQLServer、Access
Oct 09 PHP
php录入页面中动态从数据库中提取数据的实现
Oct 09 PHP
str_replace只替换一次字符串的方法
Apr 09 PHP
PHP截断标题且兼容utf8和gb2312编码
Sep 22 PHP
PHP基于单例模式实现的数据库操作基类
Jan 15 PHP
php版交通银行网银支付接口开发入门教程
Sep 26 PHP
PHP编写daemon process详解及实例代码
Sep 30 PHP
php nginx 实时输出的简单实现方法
Jan 21 PHP
smarty模板的使用方法实例分析
Sep 18 PHP
PHP使用PDO实现mysql防注入功能详解
Dec 20 PHP
PHP标准库 (SPL)――Countable用法示例
Jun 05 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
smarty实现多级分类的方法
2014/12/05 PHP
学习php设计模式 php实现状态模式
2015/12/07 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
2017/02/17 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
PHP实现一个多功能购物网站的案例
2017/09/13 PHP
对google个性主页的拖拽效果的js的完整注释[转]
2007/04/10 Javascript
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
一个javascript图片阅览组件
2010/11/09 Javascript
JQuery 弹出框定位实现方法
2010/12/02 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
JavaScript判断文件上传类型的方法
2014/09/02 Javascript
JavaScript运算符小结
2015/06/03 Javascript
mac下的nodejs环境安装的步骤
2017/05/24 NodeJs
Angular+Node生成随机数的方法
2017/06/16 Javascript
React组件生命周期详解
2017/07/03 Javascript
webpack将js打包后的map文件详解
2018/02/22 Javascript
微信小程序swiper禁止用户手动滑动代码实例
2019/08/23 Javascript
在 Vue 中使用 JSX 及使用它的原因浅析
2020/02/10 Javascript
小程序websocket心跳库(websocket-heartbeat-miniprogram)
2020/02/23 Javascript
为Python的web框架编写MVC配置来使其运行的教程
2015/04/30 Python
在Python中给Nan值更改为0的方法
2018/10/30 Python
python 高效去重复 支持GB级别大文件的示例代码
2018/11/08 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
python3中numpy函数tile的用法详解
2019/12/04 Python
tensorflow使用range_input_producer多线程读取数据实例
2020/01/20 Python
matlab、python中矩阵的互相导入导出方式
2020/06/01 Python
Cpython解释器中的GIL全局解释器锁
2020/11/09 Python
python 从list中随机取值的方法
2020/11/16 Python
Html5 new XMLHttpRequest()监听附件上传进度
2021/01/14 HTML / CSS
Chain Reaction Cycles芬兰:世界上最大的在线自行车商店
2017/12/06 全球购物
Revolution Beauty美国官网:英国知名化妆品网站
2018/07/23 全球购物
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
自强之星事迹材料
2014/05/12 职场文书
解除劳动关系协议书2篇
2014/11/28 职场文书
2015年医德考评自我评价
2015/03/03 职场文书
python解决12306登录验证码的实现
2021/04/18 Python