我在Drupal中構建網站,我只想在使用我創建的視圖的 頁面上顯示次要鏈接。我嘗試在views-view.tpl.php中使用$ secondary_links變量 ,但變量爲空。我怎樣才能做到這一點?僅在視圖中顯示次要鏈接
回答
您是否從主題設置中激活了輔助鏈接?這將是:
http://example.com/admin/build/themes/settings/name_of_your_theme
我相信一旦你激活的選項,變量將被填充。
編輯:思考秒多,我也評論說,我不知道,如果第一和第二鏈路傳遞到視圖模板。我相信這些文件將被傳遞給page.tpl.php
文件。如果我是正確的,並且出於某種原因,您希望將該變量添加到傳遞給視圖模板的變量,那麼您將不得不使用預處理函數,如解釋here。
編輯#2:事實上,如果您只需要在特定視圖模板中使用二級菜單,另一種方法是從模板中簡單呼叫menu_secondary_links()
。這並不是最優雅的解決方案,因爲它放置了一個應該屬於其他位置的主題元素,但是視圖中的菜單是核心功能還是樣式元素,由您來決定。
HTH!
輔助鏈接正如mac正確寫入只在page.tpl.php中可用,但如果我正確理解你,最好的解決方案是沒有獲得輔助鏈接到你的視圖。
隨着你的主題,次要鏈接將很可能被打印出他們應該在哪裏,無論顯示什麼,無論是你的意見,節點,頭版等等。視圖被顯示,你呈現的一切,包裹在頁面模板中,控制菜單的位置,區域和其他有趣的東西。
現在,如果你不想改變這個,菜單的位置,他們的樣式和這些東西,你不應該在你的視圖模板中打印二級菜單,你不應該做任何事情它根本就沒有。
解決方法很簡單
它使用的東西,MAC提及,但以不同的方式:預處理功能。這些函數用於你的template.php文件中,爲你的變量添加一些邏輯。你可以改變變量或完全刪除它們。我想要做的只是刪除主鏈接,將$primary_links
的值設置爲空的文本字符串。
這將有效地刪除主鏈接,因此只顯示輔助鏈接。您也可以將輔助鏈接顯示爲主要鏈接,但這可能會導致用戶感到困惑。您只需添加一些邏輯來控制何時發生這種情況並設置好。
嗨googletorp,我只想在我的視圖頁面顯示輔助導航,但Mac的建議在views.tpl.php中使用menu_secondary_links()完美工作,目前它比使用預處理函數更容易,因爲我剛剛開始使用Drupal。非常感謝您的幫助。 – screenm0nkey 2009-12-09 16:25:19
您可以使用下面的代碼顯示在任何視圖
function YourTheme_preprocess_views_view(&$vars)
{
$menu_sec = menu_navigation_links('menu-secondary');
$vars['custom_menu'] = theme('links__menu-secondary', array('links' => $menu_sec));
}
二級菜單中,你甚至可以使用其他預處理功能,這取決於你的需求。
此外,你可以打電話給.tpl。php文件使用:
<?php
$menu_sec = menu_navigation_links('menu-secondary');
print theme('links__menu-secondary',
array(
'links' => $menu_sec,
'attributes'=>array(
'class' => array('nav', 'nav-pills', 'p-f-subfilter'),
)
)
);
?>
- 1. 鏈接不顯示在街景視圖
- 2. 訪問顯示鏈接僅
- 3. 不要在鏈接中顯示$ stateParams值
- 4. Angular.js - 根據視圖顯示鏈接
- 5. 在視圖中顯示一次外鍵?
- 6. 僅在首次發佈時顯示視圖 - Swift 3
- 7. 如何僅在第一次時才顯示視圖?
- 8. 如何僅在首次啓動時顯示視圖?
- 9. 僅在沒有鏈接時才使用ColdFusion顯示鏈接?
- 10. 在外部鏈接中顯示圖像
- 11. 如何在超鏈接中顯示一個asp.net mvc視圖webforms
- 12. 在移動視圖中顯示子鏈接
- 13. 在控制器/視圖中顯示鏈接的表項
- 14. 在ASP.Net MVC視圖中顯示/隱藏鏈接
- 15. 顯示兩次drupal視圖
- 16. 僅顯示未訪問的鏈接
- 17. 單擊鏈接一次顯示網格,必須再次單擊鏈接才能在網格中顯示數據?
- 18. 圖像從鏈接圖像中顯示?
- 19. 僅在月視圖中顯示工具提示並在日視圖上隱藏
- 20. 在應用程序第一次運行時僅顯示一次視圖
- 21. 如何在應用程序第一次運行時僅顯示一次視圖?
- 22. 僅顯示超鏈接文字而不顯示整個鏈接網址
- 23. 第二次顯示父視圖時,Marionette不顯示子視圖
- 24. 要顯示網格視圖
- 25. Android應用顯示列表視圖僅第二次
- 26. 顯示圖片鏈接
- 27. 僅在IE中鏈接圖像上的不需要的填充
- 28. Java套接字:如何僅在DataInputStream中顯示消息一次
- 29. 僅在tumblr索引中顯示標題(包含鏈接)
- 30. 如何在node.js中顯示僅管理員鏈接?
你好。是的,你是正確的,因爲看起來我只能在page.tpl.php中使用$ secondary_links變量,但我只想在我的視圖中使用它。我想我可能不得不使用預處理功能,但是因爲我對此很陌生,所以我認爲我會確保沒有更簡單的選項。 – screenm0nkey 2009-12-09 15:37:28
我更新了我的答案,提示了一種更簡單的方法來獲取菜單在模板中。 – mac 2009-12-09 15:41:15
嗨,Mac,你的第二個答案工作得很好。起初,我不知道如何讓menu_secondary_links()打印出來,然後我意識到我可以使用'print theme()'函數來使它工作。它顯示很棒。 非常感謝你的確。 – screenm0nkey 2009-12-09 16:20:34