web-dev-qa-db-ja.com

カスタムモジュール関数を呼び出すパス(URL)

カスタムモジュールを開発していますが、呼び出されたときにアクションをトリガーするURLが必要です。

目的は、外部サーバーが$_REQUEST['message']を介していくつかの変数を渡してこのアドレスを呼び出し、成功/エラー文字列を含むSTRINGを返すことです。そのため、問題のURLは、マシンからのみ呼び出されることになっています。

PHPファイルがルートにありますが、このカスタムモジュールを介してDrupalに統合します。 ..これを行う方法はありますか?

ありがとうございました

4
Naoise Golden

これを行う最良の方法は、カスタムモジュールをビルドし、フックhook_menu()を実装することです。

実装する必要があります:

  • モジュールに関するメタデータを含む.infoファイル
  • hook_menu()とコールバックを含む.moduleファイル

foo.moduleは次のようになります。

function foo_menu() {
  $items = array();
  $items['foo/myurl'] = array( // change 'foo/myurl' to the url you want
    'title' => 'Callback',
    'type' => MENU_CALLBACK,
    'page callback' => 'custom_callback',
    'access arguments' => array('access content'),
  );
  return $items;
}

function custom_callback () {
  // Parse $_REQUEST parameters
  return 'success';
}
8
Bart