atk14 / cookie-consent
Requires
- php: >=5.4.0
- atk14/csv-writer: ^1.2
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