2011-12-22 73 views
1

我正在處理視圖,想知道是否有辦法讓視圖更新麪包屑痕跡。當我在我的第一個視圖叫做homme時,麪包屑沒有更新,它仍然只是說「home>」,就好像它仍然在主頁上。當我點擊一個帖子時,麪包屑更新爲「主頁>博客>管理員的博客>」。我需要它說首頁>男士>文章的名稱,基本上你期望什麼時候去博客網站或職位。意大利麪包屑drupal 7

我可以看到像博客一樣的行爲嗎?

回答

1

一個選項是嘗試覆蓋默認麪包屑函數生成的可輸出主題的輸出。

假設你已經創建了自己的主題 - 在主題的根目錄下創建一個名爲template.php的文件。創建一個名爲YOURTHEME_breadcrumb的函數,其中YOURTHEME是主題的名稱。這個函數返回的HTML將是麪包屑。根據需要修改返回值以獲得您想要的內容。考慮使用Drupal的菜單功能來構建更令人滿意的麪包屑。

檢查更詳細的這個API文章的評論:http://api.drupal.org/api/drupal/includes--theme.inc/function/theme_breadcrumb/7

+0

究竟應該怎樣把這個YOURTHEME_breadcrumb功能?它會在模塊中工作還是屬於主題模板?如果我的主題有過程和預處理文件夾,應該放入哪個文件夾,還是屬於其他位置? – beth 2012-07-06 21:24:51

+0

將它放置在主題文件根目錄下名爲'template.php'的文件中。 'template.php'文件實際上類似於'.module'文件,因爲Drupal希望你的鉤子函數能夠存在。 – rybosome 2012-07-13 17:14:06

0

添加給你的template.php文件中應與D7網站合作:

function theme_breadcrumb($breadcrumb) 
{ 
    if (substr($_GET['q'], 0, 13) == 'news/category') { 
    $breadcrumb[] = l('News', 'news/'); 
    } 
    if (count($breadcrumb) > 1) { 
    if ($breadcrumb) { 
     return '<div class="breadcrumb">'. implode(' &rsaquo; ', $breadcrumb) ."</div>\n"; 
    } 
    } 
}