回答
總之,你不能。 Drupal的菜單系統會緩存整個菜單:不同用戶的菜單項不能以不同的方式顯示(儘管您可以爲它們設置訪問權限)。如果您想要菜單項出現,您必須在hook_menu()
(僅在重建菜單時調用該菜單項)中註冊它們,或者必須在菜單管理中手動添加菜單項。
Menu system上的手冊頁提供了關於此的更多信息。
但是,您可以使用視圖中的塊顯示和HTML列表行樣式創建假菜單。如果你想在主菜單結構之外有一個類別列表塊,這很有用。
這聽起來像你可能需要使用視圖參數來過濾你的結果,如果你是基於單個視圖拉不同的「組」。我會從這裏開始學習更多關於視圖參數:http://drupal.org/node/54455,如果這確實是你想要完成的。
編輯:
我想,如果我完全看問題,這將有助於。這聽起來像你已經在爲你的視圖使用參數。在這種情況下,您已經創建了動態鏈接到您的頁面。嘗試將每個「組」的參數放在URL的末尾。例如,如果使用路徑新聞創建頁面顯示,則可以通過將參數附加到URL末尾來傳遞參數。因此,如果您使用「Node:Created Year」創建了參數,則可以通過放置諸如example.com/news/2009的內容來僅過濾2009年創建的節點來過濾此內容。您傳遞的內容取決於類型你創建的論點。
感謝您的回答,後來我意識到我可以將論點放在最後,但是我想看看爲所有組使用相同的菜單,所以菜單路徑將需要根據所查看的組自動更改。這將節省管理員每次都必須創建菜單項。 – Ben 2010-08-03 18:13:47
我爲這種情況創建了一個重定向鏈接。例如,如果我想要一個菜單鏈接將用戶定向到其用戶編輯頁面,我將實現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');
}
- 1. Drupal中的動態鏈接
- 2. 在excel中創建動態超鏈接
- 3. 在Html.ActionLink中創建一個動態鏈接文本和鏈接()
- 4. MVC中的PHP,動態創建鏈接
- 5. 動態創建HTML動作鏈接
- 6. 如何在Flash CS5中基於動態鏈接在swf中創建鏈接
- 7. 執行動態創建SCRIPT SRC鏈接
- 8. 更改動態創建鏈接的href
- 9. 用foreach創建動態鏈接列表
- 10. Windows創建動態數量的鏈接
- 11. 使用phpgrid創建動態鏈接
- 12. Drupal |動態主鏈接菜單
- 13. 如何在PHP中創建動態下載鏈接
- 14. 在Node-RED中創建動態超鏈接
- 15. 在ListView中創建動態鏈接按鈕
- 16. 試圖在MVC中創建一個動態鏈接3
- 17. 在Visual Studio中使用Visual C++創建動態鏈接庫
- 18. 如何在ASP.NET中動態創建新的超鏈接?
- 19. 如何在wordpress中創建動態鏈接面板
- 20. 在OpenGL中創建鏈接的鏈接
- 21. 如何在MySQL和PHP中爲動態帖子創建動態鏈接
- 22. php創建的動態鏈接不工作在jQuery的移動
- 23. 如何在Drupal視圖中創建更多鏈接?
- 24. Drupal:在管理菜單中缺少創建內容鏈接
- 25. 在Drupal的節點面板中創建Next/Previous節點鏈接?
- 26. Drupal:在導航欄中添加一個動態鏈接
- 27. Drupal,搜索動態創建的頁面
- 28. 使用Drupal動態創建字段
- 29. 在Flex中創建鏈接
- 30. 在dataGrid中創建鏈接
謝謝馬克的回答。我喜歡你關於假菜單的想法,並會研究這一點。我沒有太多的編程Drupal的經驗,但也可能會去使用hook_menu - 我將不得不在某些時候學習! – Ben 2010-08-03 18:09:26