2010-08-03 116 views
0

任何人都可以告訴我如何在drupal中創建動態鏈接嗎?在drupal中創建動態鏈接

我想創建一個鏈接到組成員列表。我用觀點創造了觀點。如何創建視圖的菜單項鍊接?這取決於團隊會有所不同。

謝謝

回答

0

總之,你不能。 Drupal的菜單系統會緩存整個菜單:不同用戶的菜單項不能以不同的方式顯示(儘管您可以爲它們設置訪問權限)。如果您想要菜單項出現,您必須在hook_menu()(僅在重建菜單時調用該菜單項)中註冊它們,或者必須在菜單管理中手動添加菜單項。

Menu system上的手冊頁提供了關於此的更多信息。

但是,您可以使用視圖中的塊顯示和HTML列表行樣式創建假菜單。如果你想在主菜單結構之外有一個類別列表塊,這很有用。

+0

謝謝馬克的回答。我喜歡你關於假菜單的想法,並會研究這一點。我沒有太多的編程Drupal的經驗,但也可能會去使用hook_menu - 我將不得不在某些時候學習! – Ben 2010-08-03 18:09:26

0

這聽起來像你可能需要使用視圖參數來過濾你的結果,如果你是基於單個視圖拉不同的「組」。我會從這裏開始學習更多關於視圖參數:http://drupal.org/node/54455,如果這確實是你想要完成的。

編輯:

我想,如果我完全看問題,這將有助於。這聽起來像你已經在爲你的視圖使用參數。在這種情況下,您已經創建了動態鏈接到您的頁面。嘗試將每個「組」的參數放在URL的末尾。例如,如果使用路徑新聞創建頁面顯示,則可以通過將參數附加到URL末尾來傳遞參數。因此,如果您使用「Node:Created Year」創建了參數,則可以通過放置諸如example.com/news/2009的內容來僅過濾2009年創建的節點來過濾此內容。您傳遞的內容取決於類型你創建的論點。

+0

感謝您的回答,後來我意識到我可以將論點放在最後,但是我想看看爲所有組使用相同的菜單,所以菜單路徑將需要根據所查看的組自動更改。這將節省管理員每次都必須創建菜單項。 – Ben 2010-08-03 18:13:47

1

我爲這種情況創建了一個重定向鏈接。例如,如果我想要一個菜單​​鏈接將用戶定向到其用戶編輯頁面,我將實現hook_menu()如下:

function my_module_menu() 
{ 
    $menu['user/cp'] = array 
    (
    'title' => 'User Control Panel', 
    'page callback' => 'user_cp_redirect_page', 
    'access callback' => 'user_is_logged_in', 
    'type' => MENU_CALLBACK, 
); 

    return $menu; 
} 

然後,我設置了頁面的回調看起來像這樣:

function user_cp_redirect_page() 
{ 
    global $user; 

    drupal_goto('user/' . $user->uid . '/edit'); 
}