not-takepart-media/statamic-oreos

Statamic 3 的 Cookie 允许管理器

安装: 1

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 3

类型:statamic-addon

v3.0.1 2022-05-22 16:39 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:42:21 UTC


README

Statamic 3 的 Cookie 允许管理器。

功能

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

  • 通过插件配置文件管理 Cookie
  • 通过控制面板管理 Cookie 的文本
  • 控制面板视图的权限(查看和编辑)
  • 可自定义的表单(如隐私页面)和弹出窗口(如果未设置 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 控制器的操作中的 referers 页面进行了重定向),因此所有检查同意的语句都应返回正确的设置。

表单

要在隐私声明中调用设置,通常在隐私声明中添加 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 }}

作者

© 2021 TAKEPART 媒体+科学有限公司