回答
這不是一個直接的解決方案,我從您的答覆中看到您以前的答案並不是最簡單的解決方案,但我想我會提到這個選項。 Menu Node API module維護一個Drupal缺少的表,一個節點菜單關係表。
該模塊本身不做任何事情,但似乎有建立在此基礎上的貢獻模塊,因此取決於問題的複雜程度,它可能是一個起點。
我是一個noob,所以不要打擊我,如果我要寫的是毫無價值的喋喋不休。
我認爲你不能直接這樣做,除非有一些聰明的模塊可以完成所有需要檢查的SQL查詢。
節點信息存儲在SQL表「節點」中,並且僅由NID(節點ID,它是在地址中的/?q = node /之後出現的節點號)標識。它們的別名(如果有的話)存儲在「url_alias」表中,您可以在其中找到列「src」和「dst」,標識原始路徑和別名路徑(例如,src ='node/123',dst ='my/URL /別名)。菜單鏈接可以在「menu_links」表中找到,您可以在其中找到列「menu_name」(菜單的機器可輻射名稱)和「link_path」(節點/ ...或別名)。
所以,你需要做的是以下幾點:
- 獲取當前節點的NID
- 查詢「url_alias」如果有節點/ NID的別名和檢索,否則離開節點/ NID
- 查詢路徑你確定和檢索「無」或菜單的機讀名稱
然後,您可以同時查詢表「menu_custom」,以檢查有什麼的「menu_links」表您已確定的菜單的人類可讀名稱。
無論如何,這是一個複雜的查詢(幾個查詢?),我是一個無知的MySQL,所以我不能幫助你用你需要用來檢查所有的實際代碼:P。
一個更簡單的方法就是看節點 - $>路徑和查詢menu_links表。因此,一個單一的查詢,希望有一個更聰明/更容易內置的方式,我不能相信$ node對象不包含它屬於哪個菜單的信息! :/ – 2010-02-06 00:55:24
哦,是的,你是對的。今天我一直在做手動數據庫調整(Worpress導入搞亂了一些信息),並且只是想着它:D。表「節點」包含信息行NID,VID,內容類型(頁面,故事...),用於創建和上次修改的時間戳,創建者的UID等等。可悲的是,沒有關於菜單。它在Drupal中反過來:它是將用戶引導到節點的菜單,而不是其他方式...... :( – mingos 2010-02-06 01:09:21
更新時間:對不起球員,甚至沒有意識到我已經張貼此鏈接。我認爲我打算將它作爲草稿,並在關閉標籤時發佈。也就是說,mingos(上圖)是正確的。 我的鏈接是一個函數menu_get_active_menu_name(),它似乎爲您提供了一個包含當前頁面的活動菜單的數組。正如我認爲這就是你正在使用它,這將是一個很好的方式來抽離你的數據庫調用,可能會導致問題。 我自己從來沒有嘗試過,這可能是我沒有詳細說明和發佈的原因。那麼......至少沒有故意發佈。
我假設你指的是引用頁面上的例子,但它引用了一個函數,它將「獲取當前頁面的活動菜單 - 確定活動軌跡」,你還應該嘗試擴展你的帖子來解釋爲什麼你鏈接到某個東西 – electblake 2011-01-05 17:18:10
哎喲...甚至不記得鏈接到這個,必須已經完成它作爲一個草稿和提交,我會編輯帖子 – 2011-02-09 15:43:26
也許這就是你的意思是:
$trail = menu_get_active_trail();
$lastInTrail = end($trail);
$menu_name = $lastInTrail['menu_name'];
menu_get_active_trail()返回一個麪包屑狀陣列,最後的麪包屑表示當前節點。
乾杯, 勞倫斯米爾斯,鹿特丹
這個解決方案的工作原理我剛剛在Drupal上試過7。 – asiby 2013-04-05 19:15:22
- 1. 找出哪個令牌屬於哪個AST節點
- 2. 如何確定哪些元素屬於哪個節點在XSL
- 3. 我可以找到它屬於哪個節點?
- 4. 如何在節點模板中顯示父菜單項? Drupal 7
- 5. 如何在drupal中啓用基於節點類型的自定義菜單?
- 6. 從Drupal的節點菜單設置中刪除導航菜單
- 7. 從單個節點的表單在Drupal中創建子節點
- 8. 如何通過sf找到點屬於哪個多邊形
- 9. Drupal菜單,重複節點內容
- 10. 如何在主文檔中找到一個屬性值等於當前所選節點屬性值的節點
- 11. 如何將JavaScript添加到drupal 7中的單個節點?
- 12. Drupal的:擴展菜單,如果節點地址是在菜單項
- 13. 如何在drupal中爲單個節點顯示2種顯示?
- 14. Drupal 7如何在節點
- 15. 如何將Drupal節點導出/轉儲到單個HTML文件?
- 16. 如何在drupal網站找到節點目錄?
- 17. 在Drupal中,如何在一個節點中包含另一個節點?
- 18. 找到一個點屬於哪個四面體元素
- 19. CGAL:找到一個點屬於哪個面/三角形?
- 20. 哪個Drupal模塊用於雙向參照節點(彼此)
- 21. 找出被點擊的項目屬於哪個表單
- 22. 兩個多邊形之間的點如何找到它屬於哪個?
- 23. 如何將純文本節點添加到drupal表單中?
- 24. 如何在Drupal 7中關聯節點
- 25. 如何在Drupal中主題菜單塊?
- 26. 如何在drupal中使用jquery菜單
- 27. 如何在drupal中添加菜單?
- 28. 如何在Drupal中刪除菜單?
- 29. 如何找到在textview上點擊哪個單詞Android
- 30. 哪裏菜單部分代碼屬於
有一種直接的方法可以做到這一點,它由lmeurs在同一頁上提供。 – asiby 2013-04-05 19:16:09