Поиск по Drupal из внешнего приложения


Что я хочу сделать, так это использовать встроенную поисковую систему, которая в настоящее время работает на моем сайте Drupal, но разрешить другому сайту использовать ту же поисковую систему. В основном это законная копия и вставка кода формы.

Причина в том, что у меня запущено отдельное веб-приложение, и я копирую точный внешний вид сайта Drupal, чтобы создать впечатление, что веб-приложение является частью веб-сайта. Это отдельно, потому что функциональность была бы болью реализовать в Drupal, и я мог бы сделать это в Rails за 30 минут.

Итак, какие вещи мне нужно настроить в Drupal и в моем веб-приложении, чтобы это произошло?

РЕДАКТИРОВАТЬ: Просто чтобы уточнить, мое внешнее веб-приложение не потребляет никаких данных из Drupal, что бы там ни было. Все, что я хочу сделать, это ОПУБЛИКОВАТЬ "скопированную" форму поиска в движке Drupal и заставить ее отображать результаты поиска так, как если бы вы искали непосредственно с сайта Drupal. Похоже, что модуль сервисов используется для оптимизируйте данные для внешних веб-приложений, и это совсем не рабочий процесс здесь.

ПРИМЕР: Допустим, у меня есть приложение Rails, расположенное в http://app.hostname.com / и мой сайт Drupal, расположенный по адресу http://hostname.com /. В корне моего приложения Rails есть форма поиска, которая в значительной степени является копией кода браузера, который вы увидите, как если бы вы посмотрели на источник сайта Drupal в форме поиска. Это просто простое текстовое поле с кнопкой отправки. Когда Я отправляю эту форму с сайта Rails, я хочу, чтобы она отправляла данные на сайт Drupal, и возвращаемые результаты были точно такими же, как если бы я искал с сайта Drupal напрямую (я уже говорил об этом, но не помешает повторить), оставив строку URL с надписью http://hostname.com/search/node/foo%20bar.

Author: Lester Peabody, 2011-09-08

2 answers

Поиск по Drupal может быть обычным запросом GET без прохождения формы. Попробуйте.

Создайте страницу в своем приложении RoR, чтобы перехватить сообщение и проанализировать поисковую иглу. Затем 302 на сайт Drupal с соответствующим URL-адресом.

 2
Author: mpdonadio, 2011-09-08 23:01:52

Вы можете использовать модуль Услуг . Пожалуйста, смотрите: Сервисы: API для удаленных приложений

Сервисы - это стандартизированный API для Drupal, который позволяет создавать "услуги" или набор методов, предназначенных для использования удаленными приложениями

 0
Author: Josh McCormack, 2011-09-08 23:45:48