2011-11-30 80 views
0

使用下面的代碼:Drupal的hook_menu_alter系統錯誤

function mymodule_menu_alter(&$items) { 
    if (isset($items['node/add/page'])) { 
     $items['node/add/page']['access arguments'] = FALSE; 
    } 
} 

我收到以下錯誤:

warning: Missing argument 1 for node_access() in /var/www/vhosts/mysite.co.uk/httpdocs/modules/node/node.module on line 2011.

的代碼實際工作和做什麼,我需要做的,但錯誤是關於我和混淆我的網站用戶。

我不確定是什麼問題或如何解決它。任何人都可以提供一些援助

回答

2

access arguments需求是一個數組:

function mymodule_menu_alter(&$items) { 
    if (isset($items['node/add/page'])) { 
    $items['node/add/page']['access arguments'] = array(); 
    } 
} 

如果你想拒絕你的頁面訪問絕對任何人都應該使用access callback鍵來代替:

function mymodule_menu_alter(&$items) { 
    if (isset($items['node/add/page'])) { 
    $items['node/add/page']['access callback'] = FALSE; 
    } 
} 
+0

非常感謝你。這解決了我的問題。 – sisko