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 zend 相对路径问题
Jan 12 PHP
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
Jun 05 PHP
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
Jun 19 PHP
浅析SVN常见问题及解决方法
Jun 21 PHP
YII模块实现绑定二级域名的方法
Jul 09 PHP
php导入模块文件分享
Mar 17 PHP
php文件压缩之PHPZip类用法实例
Jun 18 PHP
为你总结一些php信息函数
Oct 21 PHP
php中文字符串截取多种方法汇总
Oct 06 PHP
PHP实现动态删除XML数据的方法示例
Mar 30 PHP
PHP实现防止表单重复提交功能【基于token验证】
May 24 PHP
php 处理png图片白色背景色改为透明色的实例代码
Dec 10 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
几种显示数据的方法的比较
2006/10/09 PHP
php比较多维数组中值的大小排序实现代码
2012/09/08 PHP
PHP If Else(elsefi) 语句
2013/04/07 PHP
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
php三种实现多线程类似的方法
2015/10/30 PHP
PHP反射基础知识回顾
2020/09/10 PHP
些很实用且必用的小脚本代码
2006/06/26 Javascript
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
2013/12/27 Javascript
js动态修改表格行colspan列跨度的方法
2015/03/30 Javascript
JavaScript中的条件判断语句使用详解
2015/06/03 Javascript
AngularJS优雅的自定义指令
2016/07/01 Javascript
jQuery的extend方法【三种】
2016/12/14 Javascript
js实现的简练高效拖拽功能示例
2016/12/21 Javascript
Json按某个键的值进行排序
2016/12/22 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
基于 Vue 的树形选择组件的示例代码
2017/08/18 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
2018/01/25 Javascript
vue-cli 打包后提交到线上出现 &quot;Uncaught SyntaxError:Unexpected token&quot; 报错
2018/11/06 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
2019/09/11 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
JavaScript对象访问器Getter及Setter原理解析
2020/12/08 Javascript
python实现中文转换url编码的方法
2016/06/14 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
Python中私有属性的定义方式
2020/03/05 Python
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
小学教学随笔感言
2014/02/26 职场文书
校长创先争优承诺书
2014/08/30 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书
项目经理岗位职责
2015/01/31 职场文书
毕业班工作总结
2015/08/10 职场文书
2016习总书记系列重要讲话心得体会
2016/01/15 职场文书