0

Drupal Webサイトの機能を拡張して、Tropoサービスを含めようとしています。DrupalデータベースとDrupalが独自の動作のために提供してくれるAPIにアクセスできる必要があります。私はDrupalモジュールを書くのはかなり新しいですが、今起こっているように見えるのは、Tropoが私の.moduleファイルをPHPとして認識できないため、必要なJSON呼び出しを受け取らないということです。

a)Tropoに.moduleファイルから読み取らせる方法、またはb)通常のDrupal関数呼び出しをすべて実行でき、Tropoがスクリプトにアクセスできるように、通常の.phpファイルをモジュールに追加する方法が必要です。

考え?

4

1 に答える 1

2

Drupalでは、.moduleファイルをWebから直接実行することはできません。各モジュールはhook_menuを実装する必要があり、そのフックが使用するURLを作成します。したがって、Tropoには、yourmodule.moduleへのパスではなく、yourmodule_menuによって作成されたURLを指定します。

たとえば、Tropoのサンプルモジュールのhook_menuを次に示します。

<?php
function demo_menu() {
  $items = array();

  // Set up a route for the incoming call
  $items['demo/answer'] = array(
    'page callback' => 'demo_answer',
    'access arguments' => array('access content'),
    'type' => MENU_NORMAL_ITEM,
  );

    return $items;
}

function demo_answer() {
  module_load_include('php', 'tropo', 'lib/tropo/tropo.class');
  $tropo = new Tropo();
  $tropo->say('Hello. And Goodbye.');
  print $tropo;
}

?>

demo_menu関数は、demo/answerをサイトのURLとして定義します。サイトがexample.comの場合、Tropoにhttp://example.com/demo/answerとしてURLを指定します。次に、誰かがTropoの電話番号に電話をかけると、demo_answer()関数が実行され、「Hello。AndGoodbye」と読み上げられます。その後、電話を切ります。

Drupalをアプリケーションフレームワークとして使用することについての講演で使用した簡単なデモモジュールがあります。デモではTropoを幅広く使用しています。https://github.com/akalsey/drupal-framework-demo

電話ポーリングモジュールも良い例です。Tropoを使用して、Drupal6の組み込みのポーリングモジュールに音声とSMSを追加します。http://drupal.org/project/phonepoll

また、VoipDrupalもご覧ください。これにより、Tropoなどのサービスと対話するスクリプトをDrupalで直接作成できます。http://drupal.org/project/voipdrupal

于 2012-01-03T18:48:52.883 に答える