php實(shí)現(xiàn)面包屑導(dǎo)航的方法:【public function mbx($cat_id){$goods_info = D('goods')->find( I ('get.goods_id') );$row = D('cat')->f…】。
本文操作環(huán)境:windows10系統(tǒng)、php 7、thinkpad t480電腦。
面包屑導(dǎo)航的作用是告訴訪問者它們?cè)诰W(wǎng)站中的位置以及如何返回。可能很多小伙伴對(duì)面包屑導(dǎo)航不太了解,其實(shí)它來自于一個(gè)童話故事“漢賽爾和格萊特”,當(dāng)漢賽爾和格萊特穿過森林時(shí),不小心迷路了,但是他們發(fā)現(xiàn)沿途走過的地方都撒下了面包屑,讓這些面包屑來幫助他們找到回家的路。
面包屑導(dǎo)航有三種類型,分別是:
一、基于位置的面包屑導(dǎo)航
這種類型是最常見的。這種類型的面包屑導(dǎo)航可以很好的指出當(dāng)前頁面與整個(gè)站點(diǎn)的層次結(jié)構(gòu)。這種面包屑導(dǎo)航可以顯示當(dāng)前頁面的前一個(gè)頁面或者目錄的鏈接??梢允乖L客了解自己的位置,以及可以更快的找到自己想要到達(dá)的頁面。可以很好的提高用戶的友好體驗(yàn)。
二、基于屬性的面包屑導(dǎo)航
這種面包屑導(dǎo)航最常出現(xiàn)電子商務(wù)站點(diǎn)。這種面包屑導(dǎo)航可以很好的指出當(dāng)前頁面內(nèi)產(chǎn)品的其他屬性或者類別。對(duì)于一個(gè)產(chǎn)品來說,所具有的屬性往往不只有一種,而通過這種面包屑導(dǎo)航可以給消費(fèi)者一個(gè)更加直觀的了解。
三、基于路徑的面包屑導(dǎo)航
這種面包屑導(dǎo)航是最不常見到的。這種面包屑導(dǎo)航和上文所說的童話故事類型很像。他們可以顯示訪客在到達(dá)頁面前所訪問過的網(wǎng)頁的鏈接。這種面包屑導(dǎo)航不是很受歡迎,因?yàn)樗麄兊墓δ芑旧鲜呛颓斑M(jìn)和后退的按鈕是一樣的。
那么我們?cè)撊绾螌?shí)現(xiàn)面包屑導(dǎo)航呢?下面就讓我們一起來看看具體的實(shí)現(xiàn)代碼吧!
具體實(shí)現(xiàn)代碼如下所示:
<?php /** * C層 * GoodsController.class.php 面包屑導(dǎo)航 * 獲取上一層,上上層的名稱 */ public function mbx($cat_id){ //獲取當(dāng)前cat_id的該條信息 $row = D('cat')->find($cat_id); $tree[] = $row;//將該條數(shù)據(jù)放入數(shù)組中 while($row['parent_id']>0){//只要該條數(shù)據(jù)的parent_id>0 $row = D('cat_id')->fine($row['parent_id']); $tree[] = $row; } //array_reverse();返回翻轉(zhuǎn)數(shù)據(jù)的數(shù)組 return array_reverse($tree);//翻轉(zhuǎn)數(shù)據(jù) } //修改對(duì)應(yīng)的顯示到模板中的方法 public function goods(){ //獲取該條數(shù)據(jù)的信息 $goods_info = D('goods')->find( I ('get.goods_id') ); //打印該條信息的面包屑導(dǎo)航 //var_dump($this->mbx($goods_info['cat_id'])); $this->assign('mbx' , $this->mbx($goods_info['cat_id'])); $this->assign('goods' , $goods_info); $this->play(); } //顯示到模板中 當(dāng)前位置 <a href="">首頁</a> <foreach name=" mbx " item = " mb "> <a href=" " >{}</a> <code> > </code> </foreach> {$goods['goods_name']} ?> }
推薦學(xué)習(xí):php培訓(xùn)