web-dev-qa-db-ja.com

ビューで定義されたパスに「アクセスコールバック」関数を追加する方法

Drupal 7、ビュー3、およびhook_menu_alterを使用しています。

function MYMODULE_menu_alter(&$items){
  $items['client/place/%'] = array(
    'access callback' => 'custom_function',
  );   
}

ビューの可視性(アクセス)をオーバーライドし、キャッシュもフラッシュしますが、これは機能しないようです。これを解決する方法について誰かにいくつかの光を与えることができます。これは、ビューによって定義されたパスをオーバーライドする正しい方法ですか?

前もって感謝します

7
mauricio

注意:ビューモジュールでは、ビューUIからのアクセスを設定できます

独自のロジックを作成したい場合;コードは次のようになります。

function MYMODULE_menu_alter(&$items){
  $items['client/place/%']['access callback'] = 'MYMODULE_custom_callback'; 
}

function MYMODULE_custom_callback(){ 
  $isValid = false;

  /* your logic */

  return $isValid;
}

Viewsモジュールの後にモジュールが呼び出されていることを確認してください。通常、Viewsモジュールの幅は10です。したがって、モジュールの幅は11以上でなければなりません。

また、キャッシュをクリアすることを忘れないでください。

9
Aboodred1