Цепляем js-скрипт после ajax-вызова в Drupal 7

После выполнения загрузки данных по ajax, может потребоваться инициализация скриптов для только что полученного куска HTML.

Как данный механизм реализован в Drupal 7?

По большому счету, требуется добавить js код в секцию success после вызова /system/ajax. Такой хук предусмотрен. Событие называется ‘ajaxSuccess’, его нужно связать с контейнером, контент которого обновляется в результате запроса.

К примеру, рассмотрим практическую задачу — зацепиться к обновлению содержимого веб-формы (модуль webform), которая настроена на использование ajax (модуль webform ajax).

Для ajax-овых форм модуль добавляет в верстку дополнительный контейнер:

Именно он и обновляется при отправке данных.

Зацепка реализуется добавлением хука в глобальный js объект CMS Drupal в перечень поведения (behaviors):

В моём случае код ноды с формой webform был 1000.

У статьи появилось продолжение

Мало букафф? Читайте есчо !

Как рендерить отдельные поля элемента field collections

Январь 31, 2019 г.

Модуль field_collection всю свою историю существования (аж 2010 года) проходит в статусе beta версии. Тем не менее многие разработчики используют его в своих проектах. На текущий момент это версия 7.x-1.0-beta13. Хотя FC - это ещё один entity, ...

Читать

Рендер ссылки в twig

Октябрь 3, 2021 г.

В шаблонах twig вы можете использовать функцию link, для рендера ссылки. Параметры вызова следующие - link($text, $uri, $attributes = {}), первые два - обязательные. [crayon-6948b8a3197a1483566503/] Результатом будет следующий HTML код: ...

Читать

Миграция терминов таксономии

Февраль 29, 2024 г.

Термины представляют из себя отдельные сущности, которые подключаются к родительской entity в виде term reference. Потому классический подход - это отдельная предварительная миграция терминов, а потом подключение их, используя migration_lookup плагин. ...

Читать

Добавление произвольных требований при установке модуля в Drupal

Май 7, 2025 г.

Иногда модуль в Drupal требует наличия специфических сущностей или конфигураций, например — определённого текстового формата. Поскольку текстовые форматы являются конфигурационными сущностями (entities), напрямую указать их как зависимость в .info.yml ...

Читать
 

Комментарии к «Цепляем js-скрипт после ajax-вызова в Drupal 7»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: