Drupal API の初心者である私が背景について説明している間、どうかご容赦ください。
ユーザーがカスタム ノード作成リンクをクリックしたときに 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 ステートメントは、ユーザーが特定の権限を持っているかどうかを判断し、その中に return true を追加したため、次のエラーが発生しました。
致命的なエラー: require_once() [function.require]: /var/www/vhosts/mysite.co.uk/httpdocs/includes/menu で必要な '/node.pages.inc' (include_path='.:') を開けませんでした.inc 347 行目
初心者として、適切なユーザーのアクセス拒否ページを回避するために何をする必要があるのか わかりません.