Tropo WebAPI с модулем Drupal - PullRequest
       4

Tropo WebAPI с модулем Drupal

0 голосов
/ 03 января 2012

Я пытаюсь расширить функциональность сайта Drupal, чтобы включить службу Tropo.Мне абсолютно необходимо иметь доступ к моей базе данных Drupal и API, который Drupal предоставляет мне для своей работы.Я довольно новичок в написании модулей для Drupal, но сейчас мне кажется, что Tropo не может распознать мой файл .module как PHP, поэтому он не получает необходимые вызовы JSON.

Мне нужен либо a)способ заставить Tropo читать из моего файла .module или b) способ добавить обычный файл .php в мой модуль так, чтобы я все еще мог совершать все обычные вызовы функций Drupal, а Tropo мог получить доступ к моему сценарию.* Мысли

1 Ответ

2 голосов
/ 03 января 2012

В Drupal вы не можете запускать файлы .module напрямую из Интернета. Каждый модуль должен реализовывать hook_menu, и этот хук создает URL-адреса, которые вы будете использовать. Таким образом, вы дадите Tropo URL, созданный yourmodule_menu, а не путь к yourmodule.module.

Например, вот hook_menu из примера модуля для Tropo.

<?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 (), которая говорит: «Здравствуйте. а затем вешает трубку.

Есть простой демонстрационный модуль, который я использовал в своем выступлении об использовании Drupal в качестве среды приложения, которая может помочь - я широко использую Tropo в демо. https://github.com/akalsey/drupal-framework-demo

Хороший пример - также модуль «Голосование по телефону». Он использует Tropo для добавления голоса и SMS во встроенный модуль опроса Drupal 6. http://drupal.org/project/phonepoll

Возможно, вы также захотите взглянуть на VoipDrupal. Это позволяет вам создавать скрипты непосредственно в Drupal, которые взаимодействуют с такими сервисами, как Tropo. http://drupal.org/project/voipdrupal

...