使用 Klaro 解决方案遵循 GDPR 的 Cookie 允许解决方案

安装数: 16 324

依赖项: 0

建议者: 0

安全性: 0

星标: 7

关注者: 3

分支: 3

公开问题: 6

类型:typo3-cms-extension

3.1.0 2022-02-01 12:04 UTC

This package is auto-updated.

Last update: 2024-09-10 11:08:17 UTC


README

这是另一个使用 klaro 的 Cookie 允许解决方案。

以下语言的翻译已包含:de, el, es, fr, hr, hu, it, nl, pl, ro, sk, sl, sr。

用法

1. 安装扩展

使用 composer composer require studiomitte/klaro 或通过扩展管理器安装扩展。

2. 在站点模块中设置配置

切换到站点模块并配置扩展。所有配置都在下面描述。

3. 根据您的需求调整配置

EXT:klaro/Resources/Public/Example/ 目录中的 JavaScript 文件之一复制到您的主题扩展(或 fileadmin),根据您的需求进行修改,并在站点配置中定义文件的路径。

配置

站点配置

站点模块用于主要配置。

Sites module

以下选项可用

  • 启用:启用 klaro Cookie 允许管理
  • 隐私页面 ID:定义包含隐私信息的页面的 uid
  • 配置文件路径:定义包含 klaro 配置的 JavaScript 文件的路径
  • 语言文件路径:使用自定义 xlf 文件进行本地化。
  • 显示完整同意模态框:如果设置,则当页面渲染时显示同意模态框,而不是页面底部的较小模态框。
  • 核心 Klaro JS 文件路径:使用 klaro 的替代版本。
  • 样式前缀:使用自定义 CSS。

Klaro 配置

Klaro 使用 JSON 文件进行其配置。示例

var klaroConfig = {
    cookieExpiresAfterDays: 365,
    default: true,
    mustConsent: false,

    apps: [
        {
            name: 'googleTagManager',
            title: 'Google Tag Manager',
            purposes: ['analytics'],
            required: true
        },
        {
            name: 'googleAnalytics',
            title: 'Google Analytics',
            purposes: ['analytics'],
            cookies: [/^ga/i],
            callback: function (consent, app) {
                if (consent !== false) {
                    window.dataLayer = window.dataLayer || [];
                    window.dataLayer.push({'event': 'loadgtm-analytics'})
                }
            },
        }
    ],
};
if (typeof klaroConfigTranslations !== 'undefined') {
    for (var attr in klaroConfigTranslations) {
        klaroConfig[attr] = klaroConfigTranslations[attr];
    }
}

此示例将加载 2 个应用程序,始终加载的 Google Tag ManagerGoogle Analytics。后者将由 GTM 加载,并且必须使用回调才能在用户同意的情况下实际加载它。

有关所有配置选项,请参阅 https://klaro.kiprotect.com/#getting-started

内联代码

仅在使用同意后加载内联代码,请使用以下示例

    <script type="opt-in" data-type="application/javascript" data-name="googleAnalytics">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
    'https://#/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','123456');</script>

src 属性更改为 data-src,并添加属性 data-name="googleAnalytics",该属性与上面应用程序的名称相关联。然后,如果给出同意,JavaScript 才会进行评估。

隐私页面

必须允许用户更改他们的同意。可以通过链接到以下伪 URL 来实现这一点。

使用以下伪链接

  • 打开同意模态框: https://KLARO_CONSENT.com
  • 重置同意: https://KLARO_RESET.com

这些 URL 将由 JavaScript 链接动态替换,然后触发同意模态框。

样式

如果设置 样式前缀 配置,它用作前缀,您可以应用自己的 CSS 规则。应将 EXT:klaro/Resources/Private/Scss/ 中的 SCSS 文件复制到您的前端管道,并根据您的需求进行修改。

致谢

本扩展由 Georg Ringer 为 Studio Mitte, Linz 制作,充满爱意。

查找更多我们开发的提供TYPO3站点额外功能的TYPO3扩展