takepart-media/statamic-oreos

Statamic 3 的 Cookie 同意管理器

v1.3.0 2022-12-21 14:54 UTC

This package is auto-updated.

Last update: 2024-09-21 18:35:56 UTC


README

Statamic 3 的 Cookie 同意管理器。

特性

Oreos 允许您在两个层面上管理 Cookie 同意:同意组及其相关设置通过插件配置文件管理,而相应的标题和描述则通过控制面板管理。这使得您的作者不仅可以即时编辑文本,无需部署站点或开发人员打开他们的编辑器,还可以管理多站点(和多语言)安装中的文本。

  • 通过插件配置文件管理 Cookie
  • 通过控制面板管理 Cookie 文本
  • 控制面板视图权限(查看和编辑)
  • 可定制的表单视图(例如,用于隐私页面的 antlers 标签)和弹出窗口(如果没有设置 Cookie 则显示的弹出窗口)

如何安装

您可以在 Statamic 控制面板的“工具 > 插件”部分搜索此插件,并点击“安装”,或者从您的项目根目录运行以下命令

composer require takepart-media/statamic-oreos

之后,发布配置文件以自定义您的同意组并调整其他设置。

php artisan vendor:publish --tag=oreos-config

要自定义用户体验,您可以自由发布视图以根据您的需求进行自定义

php artisan vendor:publish --tag=oreos-views

如何使用

默认视图

弹出窗口

要将包含表单的弹出窗口添加到您的布局中,请使用 oreos:popup 标签将其放置在相应的位置(通常在 body 的末尾作为第一级子元素,例如在您的主布局文件中)

resources/views/layout.antlers.html

        ...

        {{ oreos:popup }}
    </body>
</html>

保存后,页面将重新加载(技术上,我们在 /!/oreos/save 提交控制器操作后重定向到引用页面),因此所有检查同意的语句都应返回正确的设置。

表单

要在隐私声明中回忆设置,通常添加 oreos:form 标签。这可以在您的内容中完成,但请确保允许 antlers 解析

{{ oreos:form }}

这将仅显示 弹出窗口中的表单,而不是弹出窗口本身(表单周围的一切)。通过传递参数,您可以显示或隐藏某些元素。如果您使用自定义视图,此功能可能会损坏。默认配置(如果省略参数,则使用默认值)

{{ oreos:form
    description="true"
    acceptall="true"
    cancel="true"
    reset="false"
}}

自定义视图

当然,您希望为您的访客定制体验:我们为您提供了解决方案。借助我们的标签,您可以轻松地覆盖和自定义弹出窗口以及表单——或者只是其中的一部分。

首先,发布插件的视图

php artisan vendor:publish --tag=oreos-views

这应在 /resources/views/vendor/oreos/ 文件夹中创建两个文件,用于表单(form.antlers.php)和弹出窗口(popup.antlers.html)。这些文件可以按您的意愿进行自定义。您甚至可以完全省略我们的视图,仅使用我们的骨架,通过使用我们的控制器端点和我们的 oreos 标签来使用您自己的部分或模板。查看 form.antlers.php 了解如何将一切连接起来!

在其他地方使用 Cookie 组

借助 oreos 标签,您可以在网站上的任何地方显示您的 Cookie 组及其所有相关信息

{{ oreos }}
    <h2>{{ title }}</h2>
    <p>{{ description }}</p>
    <p>Consent: {{ consent ? 'true' : 'false' }}</p>
{{ /oreos }}

在 oreos-loop 中增强以下属性

检查同意

要检查是否已对 Cookie 组给予同意,请使用 oreo:yourgrouphandle 标签

{{ if {oreo:yourgrouphandle} }}
    do something if yourgrouphandle is checked
{{ else }}
    do something if yourgrouphandle is *not* checked
{{ /if }}

使用静态缓存

当与启用静态缓存的功能一起使用时,无需任何其他更改,您的网站将抛出419 页面过期错误。为了使插件正常工作,您必须使用{{ nocache }}标签排除oreo-弹出窗口以及缓存中的所有检查:https://statamic.dev/tags/nocache

# resources/views/layout.antlers.html

{{ nocache }}
    {{ oreos:popup }}
{{ /nocache }}
# resources/views/partials/embed.antlers.html

{{ nocache }}
    {{ if {oreo:embeds} }}
        {{ embed_code }}
    {{ /if }}
{{ /nocache }}

作者

© 2021 TAKEPART Media + Science GmbH