Если вы пользуетесь модулем 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 3, 2017 г.
Сейчас все пользуются внешней статистикой вроде метрики от Yandex. Зачем может понадобится внутренняя статистика?
Внутренняя статистика может пригодиться, ...
Читать
Ноябрь 6, 2015 г.
В статье пойдет речь от системе меню в Drupal, некоторых полезных модулях и примерах программирования. Хоть речь пойдет о Drupal 7, и примеры подготовлены ...
Читать
Май 16, 2024 г.
Порою требуется добавить свои классы в переменную attributes на уровне шаблона (в twig).
Переменная attributes - это объект Drupal\Core\Template\Attribute. У него есть нужный нам метод - addClass().
Пример использования:
[crayon-6a44153582e2c316842026/]
Читать
Май 15, 2018 г.
Друпал не позволяет менять длину текстового поля после создания. Функция field_update_field также нам не поможет - будет сгенерирована соответствующая ошибка, что поле уже содержит данные и изменить его длину нельзя.
Это можно проделать вручную, зная ...
Читать