atk14/cookie-consent

v1.0.7 2024-09-26 15:52 UTC

This package is auto-updated.

Last update: 2024-09-26 15:53:41 UTC


README

使您的 ATK14 应用程序符合疯狂的欧盟 Cookie 法规。

安装

cd path/to/your/project/
composer require atk14/cookie-consent

ln -s ../../../vendor/atk14/cookie-consent/src/app/controllers/admin/cookie_consents_controller.php app/controllers/admin/
ln -s ../../../vendor/atk14/cookie-consent/src/app/forms/admin/cookie_consents app/forms/admin/
ln -s ../../../vendor/atk14/cookie-consent/src/app/views/admin/cookie_consents app/views/admin/
ln -s ../../../vendor/atk14/cookie-consent/src/app/controllers/admin/cookie_consent_categories_controller.php app/controllers/admin/
ln -s ../../../vendor/atk14/cookie-consent/src/app/forms/admin/cookie_consent_categories app/forms/admin/
ln -s ../../../vendor/atk14/cookie-consent/src/app/views/admin/cookie_consent_categories app/views/admin/
ln -s ../../../vendor/atk14/cookie-consent/src/app/controllers/admin/cookie_consent_statistics_controller.php app/controllers/admin/
ln -s ../../../vendor/atk14/cookie-consent/src/app/forms/admin/cookie_consent_statistics app/forms/admin/
ln -s ../../../vendor/atk14/cookie-consent/src/app/views/admin/cookie_consent_statistics app/views/admin/
ln -s ../../vendor/atk14/cookie-consent/src/app/controllers/cookie_consents_controller.php app/controllers/
ln -s ../../vendor/atk14/cookie-consent/src/app/forms/cookie_consents app/forms/
ln -s ../../vendor/atk14/cookie-consent/src/app/views/cookie_consents app/views/
ln -s ../../vendor/atk14/cookie-consent/src/app/models/cookie_consent.php app/models/
ln -s ../../vendor/atk14/cookie-consent/src/app/models/cookie_consent_category.php app/models/
ln -s ../../../vendor/atk14/cookie-consent/src/app/views/shared/cookie_consent app/views/shared
ln -s ../../vendor/atk14/cookie-consent/src/app/helpers/function.cookie_consent_datalayer_command.php app/helpers/
ln -s ../../vendor/atk14/cookie-consent/src/test/models/tc_cookie_consent.php test/models/
ln -s ../../vendor/atk14/cookie-consent/src/test/fixtures/cookie_consent_categories.yml test/fixtures/
mkdir -p public/scripts/utils
ln -s ../../../vendor/atk14/cookie-consent/src/public/scripts/utils/cookie_consent.js public/scripts/utils
ln -s ../vendor/atk14/cookie-consent/src/local_scripts/export_cookie_consent_statistics local_scripts/
ln -s ../../vendor/atk14/cookie-consent/src/config/routers/cookie_consents_router.php config/routers/

将迁移文件符号链接或复制到您的项目中,并执行迁移脚本

ln -s ../../vendor/atk14/cookie-consent/src/db/migrations/0020_cookie_consents.sql db/migrations
ln -s ../../vendor/atk14/cookie-consent/src/db/migrations/0021_cookie_consents_data_migration.php db/migrations
ln -s ../../vendor/atk14/cookie-consent/src/db/migrations/0021_zz01_cookie_consents_data_migration.php db/migrations
ln -s ../../vendor/atk14/cookie-consent/src/db/migrations/0021_zz02_cookie_consents_data_migration.php db/migrations

#or
cp vendor/atk14/cookie-consent/src/db/migrations/0020_cookie_consents.sql db/migrations/
cp vendor/atk14/cookie-consent/src/db/migrations/0021_cookie_consents_data_migration.php db/migrations/
cp vendor/atk14/cookie-consent/src/db/migrations/0021_zz01_cookie_consents_data_migration.php db/migrations/
cp vendor/atk14/cookie-consent/src/db/migrations/0021_zz02_cookie_consents_data_migration.php db/migrations/

./scripts/migrate

链接适当的样式文件,无论是 Bootstrap 5、Bootstrap 4 (scss) 还是 Bootstrap 3 (less)。

# Bootstrap 5
ln -s ../../vendor/atk14/cookie-consent/src/public/styles/_cookie_consent.bs5.scss public/styles/_cookie_consent.scss

# Bootstrap 4
ln -s ../../vendor/atk14/cookie-consent/src/public/styles/_cookie_consent.scss public/styles/

# or Bootstrap 3
ln -s ../../vendor/atk14/cookie-consent/src/public/styles/cookie_consent.less public/styles/

现在将选定的样式包含到您的应用程序样式中。

将共享模板添加到布局(app/layouts/default.tpl)。在元素 . 的末尾附近。

<body>
  ...
  {render partial="shared/cookie_consent/banner"}
</body>

如果您使用 Google,请在布局中将辅助函数 {cookie_consent_datalayer_command} 放在 GTM 初始化脚本之后。这将创建带有授权同意组的推送命令。

<head>
  {cookie_consent_datalayer_command}
  ...
</head>

在 app/controllers/admin/admin.php 中添加新的部分到您的管理界面。

...
[_("Cookie consent"),    "cookie_consents,cookie_consent_categories,cookie_consent_statistics"],
...

在 gulpfile.js 中包含 public/scripts/utils/cookie_consent.js 到应用程序脚本中。

var applicationScripts = [
  // ...
  "public/scripts/utils/cookie_consent.js",
  "public/scripts/application.js"
];

使用一些不错的 URI 包含 CookieConsentsRouter。

<?php
// file: config/routers/load.php

...

Atk14Url::AddRouter("CookieConsentsRouter");

// Keep the DefaultRouter at the end of the list
Atk14Url::AddRouter("DefaultRouter");

用法

在 JavaScript 和 PHP 中检查 cookie 同意类别是否被接受

JavaScript

if ( window.UTILS.cookieConsent.accepted( "advertising" ) ) {
  // accepted
}

PHP

if(CookieConsent::Accepted("advertising")){
  // accepted
}

要求

您必须在项目中安装 atk14/drink-markdown 包。

在模板 src/app/views/cookie_consents/_edit.tpl 中使用了辅助函数 link_to_page。如果您想对其进行本地修改,请创建模板的本地副本。

许可证

CookieConsent 是在 MIT 许可证下免费分发的软件 https://open-source.org.cn/licenses/mit-license