在 Drupal 中,您不能直接从 Web 运行 .module 文件。每个模块都应该实现 hook_menu 并且该钩子会创建您要使用的 URL。因此,您将向 Tropo 提供由 yourmodule_menu 创建的 URL,而不是 yourmodule.module 的路径。
例如,这是 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 提供您的 URL 作为http://example.com/demo/answer。然后,当有人拨打您的 Tropo 电话号码时,demo_answer() 函数将运行,它会说“Hello. And Goodbye”。然后挂断。
我在一次关于使用 Drupal 作为应用程序框架的演讲中使用了一个简单的演示模块,这可能会有所帮助——我在演示中广泛使用了 Tropo。https://github.com/akalsey/drupal-framework-demo
电话投票模块也是一个很好的例子。它使用 Tropo 将语音和短信添加到 Drupal 6 的内置投票模块。http://drupal.org/project/phonepoll
您可能还想看看 VoipDrupal。这允许您直接在 Drupal 中构建与 Tropo 等服务交互的脚本。http://drupal.org/project/voipdrupal