thinkphp实现面包屑导航(当前位置)例子分享

thinkphp实现面包屑导航(当前位置)例子分享,第1张

概述今天把博客一些细节完善了一下,其中修改了一下栏目页和文章页中的“当前位置”。

以前栏目很少,就用死办法做的(首页 -> 栏目的名字),现在栏目多了,渐渐二级栏目,三级栏目也来了,这样的方式显然不太合适,于是就改进了一下。也不难,利用一个递归函数就可以了。使用例子

代码如下://当前位置-第一个参数 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 .= ' -> ";
if($ext != '') $here .= ' -> '.$ext;
return $here;
}
protected function get_up_levels($ID){
$cat = M("category");
$here = '';
$uplevels = $cat->fIEld("catID,asmenu")->where("catID=$ID")->find();
$here .= ' -> ";
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;
}

}


总结

以上是内存溢出为你收集整理的thinkphp实现面包屑导航(当前位置)例子分享全部内容,希望文章能够帮你解决thinkphp实现面包屑导航(当前位置)例子分享所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1228701.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存