tms / consent
基于Klaro的简单、轻量级且可定制的Neos CMS同意管理器!
Requires
- neos/neos: ^4.3 || ^5.0 || ^7.0 || ^8.0 || dev-master
- dev-master
- 1.3.0
- 1.2.0
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.0
- 0.1.0
- dev-dependabot/npm_and_yarn/minimist-1.2.8
- dev-dependabot/npm_and_yarn/json5-1.0.2
- dev-dependabot/npm_and_yarn/json5-and-css-loader-and-mini-css-extract-plugin-and-sass-loader-and-webpack-and-webpack-cli--removed
- dev-dependabot/npm_and_yarn/decode-uri-component-0.2.2
- dev-dependabot/npm_and_yarn/loader-utils-1.4.2
- dev-dependabot/npm_and_yarn/terser-4.8.1
- dev-dependabot/npm_and_yarn/postcss-7.0.39
- dev-dependabot/npm_and_yarn/ansi-regex-4.1.1
- dev-dependabot/npm_and_yarn/color-string-1.9.0
- dev-dependabot/npm_and_yarn/ajv-6.12.6
- dev-dependabot/npm_and_yarn/browserslist-4.16.6
- dev-dependabot/npm_and_yarn/lodash-4.17.21
- dev-dependabot/npm_and_yarn/ssri-6.0.2
- dev-dependabot/npm_and_yarn/y18n-4.0.1
- dev-dependabot/npm_and_yarn/elliptic-6.5.4
- dev-dependabot/npm_and_yarn/ini-1.3.8
This package is auto-updated.
Last update: 2024-09-13 15:18:09 UTC
README
基于Neos CMS的简单、轻量级且可定制的同意管理器,基于Klaro!
让您的用户决定在访问您的网站时哪些脚本应该加载和执行。
重要提示:我们是开发者,不是律师。未经进一步修改使用此包很可能会导致不符合GDPR、ePrivacy或CCPA要求!
安装
composer require tms/consent
包含什么?
- Klaro脚本 + 乐观的Klaro配置(可覆盖或随时使用自己的配置)
- 通过
Settings.yaml
和预定义服务编辑Klaro配置 - Klaro默认样式和主题
/Resources/Private/Styles/Theme
- 为被阻止的内容元素提供占位符(Fusion组件 + JS)
- 同意设置按钮(Fusion组件 + JS)
- 覆盖常见Neos包
/Resources/Private/Fusion/PresetPackages
使用方法
步骤1:通过YAML
设置服务配置
此包包含以下服务的默认同意管理设置。在您的Settings.yaml
中启用它们或添加您自己的服务。
- Cloudflare
- Matomo
- Google Analytics
- Google Maps
- Youtube
# Example Tms.Consent configuration Tms: Consent: config: # The privacy policy uri can be specified by node type, path, identifier or simply an absolute/relative link privacyPolicy: '#4999814e-61c2-4ce1-ab46-c1145f2285d7' # Enable the services you need consent management for services: matomo: enabled: true # Use the position key to render services in your favorite order position: 100 youtube: enabled: true position: 200
扩展服务
简单地扩展您Neos包内的YAML
设置。
Tms: Consent: config: services: yourServiceName: enabled: true # ----------------------------------------------------------------- # Klaro! Config # ----------------------------------------------------------------- klaro: name: yourServiceName title: 'Your Service Title' description: 'Short description, why your website use this service...' purposes: ['functionality']
认为您的服务配置对其他人也很有用?不要犹豫,提交一个PR。所有与服务相关的配置应组合在一个名为Settings.Consent.YourServiceName.yaml
的设置文件中。
步骤2:修改HTML
为了控制您配置的服务(例如,在没有同意的情况下停止加载和/或执行),您必须修改网页生成的HTML。
这可以通过简单地替换一些属性来实现 - 请参阅https://github.com/KIProtect/klaro#managing-third-party-appstrackers
我们试图为一些常见的Neos包提供预配置解决方案,请参阅/Resources/Private/Fusion/PresetPackages
,我们已经覆盖的内容。如果您的包缺失,如果您认为服务配置对其他人可能有用,请提交一个PR。
步骤3:验证
检查您的网站 - 您是否已阻止所有关键服务?
- 使用您喜欢的浏览器的开发者工具
- 或者简单地运行https://webbkoll.dataskydd.net/上的检查
(可选)步骤4:为被阻止的内容元素提供更好的UX
这是一个如何使用Fusion组件和Bootstrap标记来处理Youtube的示例。
prototype(Your.Package:Component.Atom.Youtube) < prototype(Neos.Fusion:Component) {
renderer = afx`
<div class="embed-responsive embed-responsive-16by9">
<Tms.Consent:Component.Atom.NoConsentPlaceholder serviceName="youtube" imageUri="" />
<iframe src="about:blank" data-name="youtube" data-src="https://www.youtube-nocookie.com/embed/4DVD03IlXIs?wmode=transparent&autoplay=&controls=1&rel=&showinfo=" class="embed-responsive-item" loading="lazy" allowfullscreen="1"></iframe>
</div>
`
}
愿望清单
- 添加多站点支持
- 带有一些基本接受率统计的后端模块
- 基于用户位置的配置
任何反馈、PR或其他贡献都非常欢迎!
致谢
开发由tms.development - 在线营销和Neos CMS代理赞助
Webpack配置灵感来自https://github.com/neos/redirecthandler-ui