請忍受這個Drupal API新手,同時我解釋一些背景資料!Drupal用戶訪問回調選擇性回覆
我一直在試驗下面的代碼,以便在用戶點擊自定義節點創建鏈接時創建2個單獨的響應。默認情況下,打開一個頁面,允許用戶完成創建節點的常規步驟。 我的模塊做的是檢查用戶是否具有特定的權限,並允許他們繼續創建節點或拋出拒絕訪問頁面。
function mymodule_menu_alter(&$items) {
$items["node/add/page/%"]['access callback'] = 'mymodule_access_callback';
}
function mymodule_access_callback(){
if(user_access('open sesame')){
drupal_set_message("successfully intecepting new node creation");
return true;
}
return false;
}
節點/添加/頁面被成功阻止,但在兩種情況下都是這樣。 if語句確定用戶是否具有一定的權限,並在其中我加回真正導致以下錯誤:
Fatal error: require_once() [function.require]: Failed opening required '/node.pages.inc' (include_path='.:') in /var/www/vhosts/mysite.co.uk/httpdocs/includes/menu.inc on line 347
作爲一個新手,我不知道我需要什麼,以避免做拒絕正確用戶的訪問被拒絕頁面。
要注意Drupal沒有爲「node/add/page /%」定義任何菜單回調;你正在改變一個不存在的菜單項,在這種情況下你不應該使用'hook_menu_alter()'。 – kiamlaluno