ノードタイプは、特定の状況下では、その役割が持つ権限を超えてのみ編集する必要があります。私はカスタムモジュールでこれをやっています。Drupalでノードタイプを編集するためのカスタムアクセス関数を作成する方法は?
編集タブを表示する機能を削除し、フォームの送信後にユーザーに警告するフォームに検証機能を追加するだけでなく、
何らかのアクセス機能を追加する必要があります。誰でもこれを行う方法を知っていますか?
ありがとうございます。
--Update--
私は今、動作するはずの2つの方法があります。 hook_nodeapi使用
1):
function mymodule_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
switch($op) {
case 'prepare':
if(!mymodule_access_function($node)) {
$_REQUEST['destination'] = 'my_access_denied_page';
// rest of function
2)Iはhook_menu_alterを使用して、メニュー項目にアクセスコールバック関数を挿入することができます。
私の目的では、2が理にかなっています。私は(1)のコードを記入すると思いましたが、これはこのページで与えられた答えであり、動作します。
タッチが関わっていますが、アクセス機能は既に書き込まれています。私のモジュールはスポーツリーグを管理しています。チームキャプテンはゲームのスコアを入力できます。アクセスチェック(1)は、あなたがリーグの権限を持っているかどうかをチェックし、常に許可します。(2)プレイしているチームのキャプテンであるかどうかを確認し、そうであればチェックします。試合が予定されてから48時間以上。 (2)&&!(3)ならば許可します。 – Ted
私はhook_nodeapi(既に関数が書かれています)を使ってテストする方法を知っていますが、アクセスが拒否されたページにリダイレクトする方法はわかりません。それはどうですか? – Ted
私の質問を更新しました。 – Ted