logo

额外区块类型 (EBT) - 全新的布局构建器体验❗

额外区块类型 (EBT) - 样式化、可定制的区块类型:幻灯片、标签页、卡片、手风琴等更多类型。内置背景、DOM Box、JavaScript 插件的设置。立即体验布局构建的未来。

演示 EBT 模块 下载 EBT 模块

❗额外段落类型 (EPT) - 全新的 Paragraphs 体验

额外段落类型 (EPT) - 类似的基于 Paragraph 的模块集合。

演示 EPT 模块 滚动

Scroll

Drupal:如何用 Javascript Cookie 重写 jQuery Cookie

12/09/2025, by Ivan

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'));
    },
  };