Если вы пользуетесь модулем 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Февраль 28, 2014 г.
Задача распространенная для бизнеса на территории РФ, где многие перепродают товары из-за рубежа. Получается, что отпускные цены зависят от колебания валют, ...
Читать
Август 28, 2021 г.
Сниппет кода, демонстрирующий как alias создаётся в Drupal 9.
Ранее (в 8й версии) это был сервис ядра path.alias_storage, и код выглядел так:
[crayon-69b614dc8f377891170680/]
В 9й версии хранилище перенесли в entityTypeManager и потому выглядит ...
Читать
Сентябрь 13, 2023 г.
Весьма распространённый случай, когда в качестве exposed filter используется поле, связанное с таксономией. Так вы получаете набор опций в фильтре для своего представления, которое доступно пользователю.
Также весьма часто некоторые дополнительные ...
Читать
Октябрь 2, 2010 г.
Повсеместно распространенная библиотека lightview, и уже ставший обыденным эффект отдельно открывающегося окошка с картинкой, однажды понабились и мне. ...
Читать