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

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

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

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

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

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

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

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

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

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

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

Модуль flag не работает, если контент загружен по ajax. Что делать?

Март 11, 2017 г.

Если вы пользуетесь модулем flag в Drupal, то можете столкнуться с ситуацией, что загруженные по ajax переключатели флагов не работает. Такая ситуация происходит всегда, когда требуется особенная инициализация после загрузки страницы, ситуация с flag ...

Читать

Программируем добавление шаблонов в Drupal 7

Июнь 9, 2011 г.

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

Читать

Error Code 1366 of Mysql при записи переводов в базу tmgmt_deepl

Октябрь 4, 2024 г.

Типично ошибка 1366 связана с тем, что кто то пытается записать символы с кодами не соответствующими кодовой таблице символов, установленной для таблицы в базе данных. Но в нашем случае речь идет о иной проблеме. Drupal использует utf8mb4 для текстовых ...

Читать

Программно выводим блок в Drupal

Февраль 7, 2019 г.

Если вы решили вывести блок, реализованный в каком либо модуле, программно, то следующие  примеры кода помогут вам. Используя block API Запрашиваем данные блока через API, готовим массив для последующего рендеринга: [crayon-6a944e87d4ddb546705220/] ...

Читать
 

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

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



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