Drupal форма запрашивает внешний API - PullRequest
1 голос
/ 28 октября 2009

Мне нужна многостраничная форма drupal, которая запрашивает внешний XML-API и отображает данные на второй странице многостраничной формы.

Я новичок в drupal, и я читаю советы здесь и на drupal.org. Я думаю, что я могу использовать вычисляемое поле на cck или написать модуль для этого. Я думаю, что я сделаю и то и другое, сначала используя вычисляемое поле, а затем напишу модуль позже, чтобы все заработало раньше.

Мне нужен совет о том, как создать вычисляемое поле, которое вызывает внешний API. Я использую curl или есть функция drupal, которую я могу использовать? Какие документы Drupal помогут мне, и можно ли предоставить простые фрагменты, чтобы помочь мне начать?

пример вызова API https://my.example.com/XMLServices/xml?accessKey=&accountId=&form_var1=&form_var2=&form_var3=

Редактировать: Я думаю, что это называется REST API. Я считаю, что есть некоторые модули, которые могут помочь.

Ответы [ 2 ]

1 голос
/ 29 октября 2009

Что касается извлечения (и / или публикации / помещения) удаленного контента из / в интерфейс REST (или что-либо еще, выполненное через http), вам также следует обратить внимание на функцию drupal_http_request(). Это может сделать вас довольно далеко, не прибегая к скручиваемости.

Пример базового использования можно найти в функции aggregator_refresh() в модуле агрегатора из ядра Drupal, где он используется для получения RSS-каналов.

1 голос
/ 28 октября 2009

Здесь есть некоторые вычисленные фрагменты полей здесь

Curl должен получить данные (если они спокойны), но вам все равно придется анализировать результат.

Лично я бы пошел по пути использования пользовательского модуля и hook_nodeapi или hook_form_alter, а не вычисляемого поля, так как звучит так, как будто вам нужны некоторые совершенно пользовательские функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...