В Drupal 9/10 нет jQuery плагина once(), потому при использовании этой функции вы увидите сообщение о том, что once — не является функцией.
Плагин удобен, но его не сложно заменить в коде буквально парой вставок. Он работает по следующему алгоритму — тестируемые элементы маркируются классом ‘processed’, а повторная проверка once() фильтрует тестируемые элементы по наличию этого класса.
Выглядит это обычно так:
|
|
$('.my-element').once().each( (index, elem) => { ... } ); |
А заменить это можно вот так:
|
|
$('.my-element:not(.processed)').each( (index, elem) => { $(elem).addClass('processed'); ... } ); |
Drupal 9/10
Данная запись опубликована в 08.05.2023 14:59 и размещена в рубрике Drupal, jQuery.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Июнь 3, 2025 г.
Попытка запустить cron параллельно с запущенным кроном не увенчается успехом, так как Drupal использует блокировку. Но иногда, из-за ошибок во время исполнения, блокировка не снимается.
Что делать, если блокировка не была снята штатно?
На самом ...
Читать
Июль 25, 2023 г.
Такое иногда вылазит как следствие удаления кастомных классов/модулей, создающих собственные права или инициализирующие права через родительский модуль.
Как это пофиксить?
Права из роли не были удалены штатно, потому придется сделать следующее: ...
Читать
Май 18, 2023 г.
Шпаргалка по настройке и проведению деплоймента для Drupal (начиная с 8й версии).
Деплоймент выполняется с использованием git, drush, composer и configuration management. На сервере должны выполняться команды в следующей последовательности:
...
Читать
Ноябрь 5, 2023 г.
Подключение скрипта или стилей "по-месту", на мой взгляд, не плохая практика, т.к. соответствующие файлы не будут подключаться, если в них нет необходимости.
От вас потребуется объявить нужный скрипт и/или стили как библиотеку. Это можно сделать ...
Читать