面包屑导航功能在web项目开发中经常会用到,这是给最近的项目前台写的面包屑导航。思路基本就这样
1、网站前端调用
1 |
<div class="x12 clearfix">{$position}</div> |
2、控制器部分
1 2 3 4 5 6 |
$paraArray = array( 'id' => $id, ); $position = cNav($paraArray); $this->assign('position',$position); |
3、函数功能实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
/** * 前台课程面包屑导航 * @param array $paraArray * User: Sam:yyzm@vip.qq.com */ function cNav( array $paraArray ) { $nav = array(); //面包屑初始设置 $initArray = array( 'id' => '' , 'table' => 'course' , 'home' => '外贸视频' , 'link' => ' / ' , 'flag' => 0 , ); $nav = array_merge( $initArray , $paraArray ); $cat = M( $nav['table'] ); $here = '<ul class="bread text-default"><li><a href="/course" class="icon-home"><span class="margin-left">' .$nav['home']. '</span></a></li> '; //获得当前位置信息 $tTitle = $cat->field( 'id,title,category_id' )->where( array( 'id' => $nav['id'] ) )->find(); $lastHtml = '<li>'.$tTitle['title'].'</li></ul>'; $cate = M('category')->find($tTitle['category_id']); if ( $cate['pid'] != 0 ) { $here .= getCateNav($tTitle['category_id']).$lastHtml; } else { $here .= $nav['link'].$lastHtml; } return $here; } /** * 前台面包屑链接拼接 * @param $id * @param string $nav * User: Sam:yyzm@vip.qq.com */ function getCateNav( $id , $nav = '' ) { $cate = M('category')->find( $id ); if ( $cate['pid'] != 0 ) { $nav = '<li><a href="/course/'.$cate['id'].'">'.$cate['title'].'</a></li>'.$nav; return getCateNav($cate['pid'] , $nav); } else { return $nav; } } |
效果如下:
转载请注明:PHP笔记 » ThinkPHP写的网站前台的面包屑导航功能