本文操作环境:windows10系统、php 7、thinkpad t480电脑。
面包屑导航的作用是告诉访问者它们在网站中的位置以及如何返回。可能很多小伙伴对面包屑导航不太了解,其实它来自于一个童话故事“汉赛尔和格莱特”,当汉赛尔和格莱特穿过森林时,不小心迷路了,但是他们发现沿途走过的地方都撒下了面包屑,让这些面包屑来帮助他们找到回家的路。
面包屑导航有三种类型,分别是:
一、基于位置的面包屑导航
这种类型是最常见的。这种类型的面包屑导航可以很好的指出当前页面与整个站点的层次结构。这种面包屑导航可以显示当前页面的前一个页面或者目录的链接。可以使访客了解自己的位置,以及可以更快的找到自己想要到达的页面。可以很好的提高用户的友好体验。
二、基于属性的面包屑导航
这种面包屑导航最常出现电子商务站点。这种面包屑导航可以很好的指出当前页面内产品的其他属性或者类别。对于一个产品来说,所具有的属性往往不只有一种,而通过这种面包屑导航可以给消费者一个更加直观的了解。
三、基于路径的面包屑导航
这种面包屑导航是最不常见到的。这种面包屑导航和上文所说的童话故事类型很像。他们可以显示访客在到达页面前所访问过的网页的链接。这种面包屑导航不是很受欢迎,因为他们的功能基本上是和前进和后退的按钮是一样的。
那么我们该如何实现面包屑导航呢?下面就让我们一起来看看具体的实现代码吧!
具体实现代码如下所示:
<?php
public function mbx($cat_id){
//获取当前cat_id的该条信息
$row = D('cat')->find($cat_id);
$tree[] = $row;//将该条数据放入数组中
while($row['parent_id']>0){//只要该条数据的parent_id>0
$row = D('cat_id')->fine($row['parent_id']);
$tree[] = $row;
}
//array_reverse();返回翻转数据的数组
return array_reverse($tree);//翻转数据
}
//修改对应的显示到模板中的方法
public function goods(){
//获取该条数据的信息
$goods_info = D('goods')->find( I ('get.goods_id') );
//打印该条信息的面包屑导航
//var_dump($this->mbx($goods_info['cat_id']));
$this->assign('mbx' , $this->mbx($goods_info['cat_id']));
$this->assign('goods' , $goods_info);
$this->play();
}
//显示到模板中
当前位置
<a href="">首页</a>
<foreach name=" mbx " item = " mb ">
<a href=" " >{}</a>
<code> > </code>
</foreach>
{$goods['goods_name']}
?>
}