0
我實現hook_menu_alter到自定義訪問函數在Drupal 6禁止節點仍然顯示在菜單中 - 我該如何防止這種情況發生?
function amh_workflow_menu_alter(&$items)
{
$items['node/%node']['access callback'] = '_amh_workflow_access';
}
此功能非常適合當節點本身顯示給用戶確定訪問添加到標準節點/%點菜單 - 但節點的菜單項始終顯示。我希望菜單項只在用戶訪問該頁面時才顯示。
我試圖清理出高速緩存幾次,但菜單項頑固地拒絕隱藏。這看起來很奇怪,因爲其他菜單項(坦白地說,我認爲它們都使用默認的user_access和簡單訪問參數)都根據用戶的權限正確隱藏或顯示。
我不明白爲什麼節點本身被正確保護,但沒有菜單項。在我看來,在顯示菜單時調用訪問回調(回調方法中的調試消息不顯示)。
爲什麼是 '錯誤'? – HorusKol 2011-02-28 22:29:30
例如,因爲它可能會與其他實現節點訪問的模塊(如有機組或論壇訪問)發生衝突。此外,這僅適用於單個節點直接顯示,但不適用於列表,視圖等的情況。 – Berdir 2011-02-28 23:27:26