thinkphp实现面包屑导航(当前位置)例子分享_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了thinkphp实现面包屑导航(当前位置)例子分享_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2369字,纯文字阅读大概需要4分钟。
内容图文
![thinkphp实现面包屑导航(当前位置)例子分享_PHP教程](/upload/InfoBanner/zyjiaocheng/183/ee624f08174a4d3681b64aff2ded0227.jpg)
使用例子:
代码如下:
//当前位置-第一个参数 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 = '首页';
$uplevels = $cat->field("catid,catname,asmenu")->where("catid=$catid")->find();
if($uplevels['asmenu'] != 0)
$here .= $this->get_up_levels($uplevels['asmenu']);
$here .= ' -> '.$uplevels['catname']."";
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 .= ' -> '.$uplevels['catname']."";
if($uplevels['asmenu'] != 0){
$here = $this->get_up_levels($uplevels['asmenu']).$here;
}
return $here;
}
附:另一个例子
代码如下:
class IndexAction extends Action {
public function cat() {
load('extend'); // 加载 extend.php 文件
// 取出所有的分类
$Categories = M('Categories')->select();
$nav_array = array();
$this->getNavCrumbs($Categories, 2120, $nav_array);
dump($nav_array);
// 取出所有分类(并构造成一棵树)
// $CategoryTree = list_to_tree($Categories, 'categories_id', 'parent_id');
}
/**
* 根据分类id向上回溯构造面包屑
* @param $Categories 由所有分类组成的数组
* @param $categoryId 要进行向上回溯用的分类id
* @param $navCrumbs 用于保存结果的数组,传入一个空数组就好
*/
public function getNavCrumbs($Categories, $categoryId, &$navCrumbs) {
$category = list_search( $Categories, array('categories_id'=>$categoryId) ) ;
$category = $category[0];
$parent_id = $category['parent_id'];
$categories_id = $category['categories_id'];
if( $parent_id != 0 ) { // 这里的 0 是根节点id(root节点id)
$this->getNavCrumbs($Categories, $parent_id, $navCrumbs);
}
$navCrumbs[$categories_id] = $category;
}
}
http://www.bkjia.com/PHPjc/768136.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/768136.htmlTechArticle以前栏目很少,就用死办法做的(首页 - 栏目的名字),现在栏目多了,渐渐二级栏目,三级栏目也来了,这样的方式显然不太合适,于是...
内容总结
以上是互联网集市为您收集整理的thinkphp实现面包屑导航(当前位置)例子分享_PHP教程全部内容,希望文章能够帮你解决thinkphp实现面包屑导航(当前位置)例子分享_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。