Scroll
Drupal:jQuery Cookie を Javascript Cookie に書き直す方法
Drupal 9 以降は、jQuery Cookie の代わりに Javascript 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'));
},
};