Scroll
Drupal: Как переписать jQuery Cookie на JavaScript Cookie
Начиная с Drupal 9 используется библиотека Javascript Cookie вместо jQuery Cookie:
https://www.drupal.org/node/3104677
https://www.drupal.org/node/3322720
https://www.drupal.org/node/3296086
Вы можете найти множество патчей для сторонних модулей, например:
https://www.drupal.org/project/eu_cookie_compliance/issues/3194270
Если вам нужно обновить сайт до Drupal 10, вам потребуется заменить библиотеку jQuery Cookie:
my_module.libraries.yml
my_library:
js:
js/my_library.js: {}
dependencies:
- core/jquery
- core/jquery.cookie
- core/drupal
на:
my_library:
js:
js/my_library.js: {}
dependencies:
- core/drupal
- core/js-cookie
И обновите JavaScript-код:
Drupal.behaviors.myModule = {
attach: () => {
// Установить cookie.
Cookies.set('cutest', 'red panda');
// Получить cookie.
const myCookieValue = Cookies.get('cutest');
// Удалить cookie.
Cookies.remove('cutest');
// Сохранить и получить как JSON-объект. Использование метода getJSON следует избегать, так как он будет удалён в js-cookie 3.0.0.
Cookies.set('cutest', JSON.stringify({ animal: 'red panda' }));
const cutest = JSON.parse(Cookies.get('cutest'));
},
};