Если вы пользуетесь модулем flag в Drupal, то можете столкнуться с ситуацией, что загруженные по ajax переключатели флагов не работает. Такая ситуация происходит всегда, когда требуется особенная инициализация после загрузки страницы, ситуация с flag не уникальна.
Как же нам инициализировать флаги для их правильной работы после догрузки контента по ajax?
К примеру, вы грузите кусочек шаблона, используя jQuery. В js это может выглядеть так:
|
|
$('#place-of-content').load('/ajax-load'); |
После загрузки HTML, содержащего флаги, нужно выполнить инициализацию, содержащуюся в скрипте модуля flag. В нашем примере это можно реализовать следующим образом:
|
|
$('#place-of-content').load('/ajax-load', {}, function () { $.getScript('/sites/all/modules/flag/theme/flag.js', function() { Drupal.behaviors.flagLink.attach(document); }); }); |
Функцию attach можно выполнить и более точечно.
Данная запись опубликована в 11.03.2017 02:33 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Ноябрь 6, 2025 г.
Понадобилось мне сгенерировать уникальный код, чтобы привязать уникальные стили к конкретному контейнеру. Функция random в twig чаще всего достаточна для этой цели. Но хотелось пойти немного дальше, и вытащить сервис генерации UUID.
Это нам приводит ...
Читать
Январь 17, 2019 г.
В определенный момент стандартные схемы данных Drupal вас могут перестать удовлетворять, и вы решите добавить свои таблицы в базу данных сайта. Как это ...
Читать
Октябрь 16, 2017 г.
Drupal очень многое позволяет делать из админки. Создание типов публикаций, представлений, настройка модулей и многое другое. Это сильная сторона и одновременно ...
Читать
Июль 27, 2021 г.
Чтобы извлечь адрес изображения из картинки в поле типа media, требуется ряд преобразований с использованием Entity объектов Drupal.
Предполагается, что вы уже загрузили entity с полем типа media (в примере называется - field_media) в какую то ...
Читать