Если вы пользуетесь модулем 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 29, 2012 г.
Столкнулся с интересной проблемкой в Drupal 6 при создании мультиязычного сайта.
Сама мультиязычность создавалась довольно типичным способом - пара стандартных модулей locate, content translate + i18n. Для каждого языка был выбран свой префикс пути ...
Читать
Февраль 8, 2015 г.
Рассмотрим такую несложную задачу администрирования как вход под именем другого пользователя в drupal.
Иногда требуется взглянуть на сайт "глазами" ...
Читать
Сентябрь 12, 2025 г.
В Drupal контроллеры чаще всего возвращают Renderable-массивы. Такие массивы автоматически проходят через систему рендеринга и подставляются в базовый шаблон темы (page.html.twig). Но иногда бывает нужно получить полный Response с темизацией вручную — ...
Читать
Август 1, 2021 г.
Ядро и модули объявляют множество токенов подстановки. Рассмотрим как получить доступ к глобальному объекту типа \Drupal\Core\Utility\Token и выполнить подстановку в строке.
Ядро предоставляет экземпляр объекта через следующий запрос:
[crayon-69bb356eac388568734423/] ...
Читать