閱讀menu_tree_page_data()的文檔,在我看來,我應該能夠通過以下方式調用該函數來檢索我的主菜單的全部內容:menu_tree_page_data('main-menu')
。由於參數2,$max_depth
,默認爲NULL,這應遞歸通過所有級別。由於參數3 $only_active_trail
默認爲FALSE,因此應檢索所有鏈接,而不僅僅是活動路徑上的鏈接。Drupal 7函數menu_tree_page_data工作不正常?
然而,在調用這個函數時,我最終得到了以下類型的樹數據。
第一級深度的所有鏈接。
第二級深度的所有鏈接。
只有第三級深度的活動鏈接。
這是怎麼回事?我也嘗試明確設置參數menu_tree_page_data('main-menu', 10, FALSE)
只是爲了確保我不誤解默認行爲。我不得不編寫自己的函數來給我整個菜單,但它沒有主動路徑數據。現在,我發現自己處於一種混合兩種功能的情況,即創建一個帶有主動路徑信息的完整菜單樹,而且非常麻煩。如果一個解決方案正常工作會很好。
另外,是否有一種簡單的方法來確定給定菜單項的活動軌跡?如果是這樣,我只是將它添加到我已經有效的樹爬行器函數中,並稱它爲一天。