最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

thinkphp實(shí)現(xiàn)面包屑導(dǎo)航(當(dāng)前位置)例子分享

 更新時(shí)間:2014年05月10日 10:38:23   作者:  
今天把博客一些細(xì)節(jié)完善了一下,其中修改了一下欄目頁(yè)和文章頁(yè)中的“當(dāng)前位置”。

以前欄目很少,就用死辦法做的(首頁(yè) -> 欄目的名字),現(xiàn)在欄目多了,漸漸二級(jí)欄目,三級(jí)欄目也來(lái)了,這樣的方式顯然不太合適,于是就改進(jìn)了一下。也不難,利用一個(gè)遞歸函數(shù)就可以了。

使用例子:

復(fù)制代碼 代碼如下:

//當(dāng)前位置-第一個(gè)參數(shù) catid為當(dāng)前欄目的id,第二個(gè)參數(shù)為文章的標(biāo)題,調(diào)用欄目當(dāng)前位置時(shí)第二個(gè)參數(shù)為空即可。
$this->assign("now_here",$this->now_here($catid,$res['title']));

實(shí)現(xiàn)代碼:

復(fù)制代碼 代碼如下:

//解釋一下,欄目表category中的catid為欄目id,catname為欄目名稱,asmenu為欄目父級(jí)的id,當(dāng)為頂級(jí)欄目時(shí),asmenu為0 。
protected function now_here($catid,$ext=''){
 $cat = M("Category");
 $here = '<a href="http://m.fzitv.net">首頁(yè)</a>';
 $uplevels = $cat->field("catid,catname,asmenu")->where("catid=$catid")->find();
 if($uplevels['asmenu'] != 0)
 $here .= $this->get_up_levels($uplevels['asmenu']);
 $here .= ' -&gt; <a href="/cat_'.$uplevels['catid'].'.html">'.$uplevels['catname']."</a>";
 if($ext != '') $here .= ' -&gt; '.$ext;
 return $here;
}
protected function get_up_levels($id){
 $cat = M("Category");
 $here = '';
 $uplevels = $cat->field("catid,catname,asmenu")->where("catid=$id")->find();
 $here .= ' -&gt; <a href="/cat_'.$uplevels['catid'].'.html">'.$uplevels['catname']."</a>";
 if($uplevels['asmenu'] != 0){
  $here = $this->get_up_levels($uplevels['asmenu']).$here;
 }
 return $here;
}



附:另一個(gè)例子

復(fù)制代碼 代碼如下:

class IndexAction extends Action {

    public function cat() {
  load('extend');  // 加載 extend.php 文件
  // 取出所有的分類(lèi)
  $Categories = M('Categories')->select();

  $nav_array = array();
  $this->getNavCrumbs($Categories, 2120, $nav_array);
  dump($nav_array);

  // 取出所有分類(lèi)(并構(gòu)造成一棵樹(shù))
  // $CategoryTree = list_to_tree($Categories, 'categories_id', 'parent_id');
    }

    /**
     * 根據(jù)分類(lèi)id向上回溯構(gòu)造面包屑
     * @param  $Categories 由所有分類(lèi)組成的數(shù)組
     * @param  $categoryId 要進(jìn)行向上回溯用的分類(lèi)id 
     * @param  $navCrumbs 用于保存結(jié)果的數(shù)組,傳入一個(gè)空數(shù)組就好
     */
    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 是根節(jié)點(diǎn)id(root節(jié)點(diǎn)id)
      $this->getNavCrumbs($Categories, $parent_id, $navCrumbs);
     }

     $navCrumbs[$categories_id] = $category;
    }

}


相關(guān)文章

  • php函數(shù)重載的替代方法--偽重載詳解

    php函數(shù)重載的替代方法--偽重載詳解

    對(duì)于弱類(lèi)型語(yǔ)言來(lái)說(shuō),PHP函數(shù)重載,并不像一般的OOP那樣。而弱類(lèi)型本來(lái)就不區(qū)分,所以無(wú)法通過(guò)這些來(lái)實(shí)現(xiàn)。但是,可以通過(guò)下面的方法來(lái)實(shí)現(xiàn)簡(jiǎn)單的偽重載吧。
    2015-05-05
  • Laravel學(xué)習(xí)教程之從入口到輸出過(guò)程詳解

    Laravel學(xué)習(xí)教程之從入口到輸出過(guò)程詳解

    這篇文章主要給大家介紹了關(guān)于Laravel學(xué)習(xí)教程之從入口到輸出過(guò)程的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • PHP微信支付開(kāi)發(fā)實(shí)例

    PHP微信支付開(kāi)發(fā)實(shí)例

    這篇文章主要為大家詳細(xì)介紹了PHP微信支付開(kāi)發(fā)過(guò)程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Laravel框架實(shí)現(xiàn)model層的增刪改查(CURD)操作示例

    Laravel框架實(shí)現(xiàn)model層的增刪改查(CURD)操作示例

    這篇文章主要介紹了Laravel框架實(shí)現(xiàn)model層的增刪改查(CURD)操作,結(jié)合實(shí)例形式分析了Laravel框架模型model層進(jìn)行數(shù)據(jù)庫(kù)的增刪改查操作具體實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-05-05
  • Yii2實(shí)現(xiàn)讓關(guān)聯(lián)字段支持搜索功能的方法

    Yii2實(shí)現(xiàn)讓關(guān)聯(lián)字段支持搜索功能的方法

    這篇文章主要介紹了Yii2實(shí)現(xiàn)讓關(guān)聯(lián)字段支持搜索功能的方法,結(jié)合實(shí)例形式分析了Yii2關(guān)聯(lián)字段搜索功能的原理與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-08-08
  • PHP cURL初始化和執(zhí)行方法入門(mén)級(jí)代碼

    PHP cURL初始化和執(zhí)行方法入門(mén)級(jí)代碼

    這篇文章主要介紹了PHP cURL初始化和執(zhí)行方法入門(mén)級(jí)代碼,本文直接給出代碼示例,代碼中包含詳細(xì)注釋,需要的朋友可以參考下
    2015-05-05
  • Yii框架應(yīng)用組件用法實(shí)例分析

    Yii框架應(yīng)用組件用法實(shí)例分析

    這篇文章主要介紹了Yii框架應(yīng)用組件用法,結(jié)合實(shí)例形式分析了Yii應(yīng)用組件基本功能、定義、使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-05-05
  • 詳解PHP中strlen和mb_strlen函數(shù)的區(qū)別

    詳解PHP中strlen和mb_strlen函數(shù)的區(qū)別

    在PHP中,strlen與mb_strlen是求字符串長(zhǎng)度的函數(shù),但是對(duì)于一些初學(xué)者來(lái)說(shuō),如果不看手冊(cè),也許不太清楚其中的區(qū)別
    2014-03-03
  • 如何讓搜索引擎抓取AJAX內(nèi)容解決方案

    如何讓搜索引擎抓取AJAX內(nèi)容解決方案

    談到AJAX很多人會(huì)聯(lián)想到JavaScript,直到現(xiàn)在為止各大搜索引擎對(duì)如:javascript、ajax、flash代碼生成的內(nèi)容都沒(méi)辦法很好的抓取。但很多站長(zhǎng)都很喜歡這些效果,可是偏偏各大搜索引擎不能很好的抓取這些代碼所生成的內(nèi)容,使得很多站長(zhǎng)都放棄了這些效果。
    2014-08-08
  • php+laravel依賴注入知識(shí)點(diǎn)總結(jié)

    php+laravel依賴注入知識(shí)點(diǎn)總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于php+laravel依賴注入知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-11-11

最新評(píng)論

虹口区| 西乌珠穆沁旗| 东宁县| 青铜峡市| 鄂托克前旗| 土默特左旗| 喜德县| 宽甸| 公主岭市| 莒南县| 大邑县| 吉隆县| 山丹县| 克拉玛依市| 包头市| 定西市| 临泽县| 江孜县| 合阳县| 河池市| 太湖县| 白山市| 沐川县| 白山市| 南漳县| 吕梁市| 昭平县| 鄂温| 江安县| 新营市| 永川市| 长海县| 吴堡县| 大城县| 开平市| 肥城市| 民和| 屯昌县| 洛扎县| 大埔区| 高雄县|