国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

thinkphp實現面包屑導航(當前位置)例子分享

2024-05-04 23:23:38
字體:
來源:轉載
供稿:網友

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

使用例子:

復制代碼 代碼如下:


//當前位置-第一個參數 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 = '<a href="http://www.survivalescaperooms.com">首頁</a>';
 $uplevels = $cat->field("catid,catname,asmenu")->where("catid=$catid")->find();
 if($uplevels['asmenu'] != 0)
 $here .= $this->get_up_levels($uplevels['asmenu']);
 $here .= ' -> <a href="/cat_'.$uplevels['catid'].'.html">'.$uplevels['catname']."</a>";
 if($ext != '') $here .= ' -> '.$ext;
 return $here;
}
protected function get_up_levels($id){
 $cat = M("Category");
 $here = '';
 $uplevels = $cat->field("catid,catname,asmenu")->where("catid=$id")->find();
 $here .= ' -> <a href="/cat_'.$uplevels['catid'].'.html">'.$uplevels['catname']."</a>";
 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;
    }

}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 遂宁市| 界首市| 潼南县| 南京市| 綦江县| 建昌县| 宜兰县| 宣汉县| 应用必备| 曲阜市| 嘉义县| 察哈| 新营市| 米脂县| 当阳市| 武平县| 金溪县| 锦州市| 邮箱| 昭平县| 伊川县| 隆昌县| 塔城市| 阿城市| 高台县| 博客| 娱乐| 革吉县| 英吉沙县| 仲巴县| 无棣县| 万安县| 呼和浩特市| 堆龙德庆县| 青川县| 大城县| 江西省| 灌南县| 柞水县| 尼勒克县| 喀什市|