Интеграция Angular с Drupal

Как быстро внедрить на Drupal-сайт функциональность на Angular

сделать кастомный Drupal-модуль
обеспечить возможность вставить его на страницу как внешний модуль
Хотите так же?

Клиент

К нам обратилась независимая ассоциация по борьбе с аутоиммунными болезнями. Главная цель ассоциации — предупреждать заболеваемость на ранней стадии и улучшить качество жизни людей с такими заболеваниями.

Задача

Сайт клиента разработан на Drupal. На одной из страниц сайта есть форма с вопросами, ответив на которые, можно узнать, насколько велик риск возникновения аутоиммунной болезни. Форма работала на кастомном модуле, связанном с модулем Paragraphs.

Позже клиент решил, что форму пора обновить, начиная с порядка и содержания вопросов и заканчивая логикой подсчёта результатов. Прежнее решение не согласовывалось с новыми запросами, и перед клиентом встал выбор: либо переписать старый модуль под новую логику, либо написать новый и интегрировать в сайт.

Клиент выбрал второе. Он заказал на стороне разработку этого блока на Angular, чья структура и логика сильно отличалась от кастомного Drupal-модуля. Мы получили этот блок в виде архива с вёрсткой, скриптами и стилями, которые приближали его внешний к стилю сайта.

Нашей задачей было интегрировать блок на Angular с Drupal-сайтом.

интеграция angular с drupal

Решение

Чтобы не тратить время на интеграцию логики в структуру сайта, было решено сделать для модуля отдельную страницу настроек, где клиент мог бы менять тексты и картинки.

Мы интегрировали новый Angular-модуль в Drupal-сайт, что оказалось быстрее переписывания старого модуля. При этом модуль работает независимо от Drupal и хранит логику расчёта результатов в JavaScript.

Angular — не совсем наша технология, поэтому разработчику пришлось поверхностно пробежаться по документации. В частности, по ходу работы приходилось залезать в код Angular-модуля, чтобы отслеживать возникновение конфликтов между скриптами и корректировать вопросы и ответы.

Результаты

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

 

Напишите нам!

Мы регулярно просматриваем не только почту, но и спам. Ваша заявка от нас не ускользнёт.

Напишите нам!

Но сначала правильно заполните обязательные поля.