atk14/cookie-consent 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

atk14/cookie-consent

Composer 安装命令:

composer require atk14/cookie-consent

包简介

README 文档

README

Make your ATK14 app comply with the crazy EU cookie law.

Installation

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/

Symlink or copy migration files into your project and perform the migration script:

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
ln -s ../../vendor/atk14/cookie-consent/src/db/migrations/0021_zz03_cookie_consents_datalayer_events.sql 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/
cp vendor/atk14/cookie-consent/src/db/migrations/0021_zz03_cookie_consents_datalayer_events.sql db/migrations/

./scripts/migrate

Linking a proper style file either for Bootstrap 5, Bootstrap 4 (scss) or 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/

Now include the selected style to your application style.

Add shared template into layout (app/layouts/default.tpl). Somewhere close to the end of the element .

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

If you are using Google, place helper {cookie_consent_datalayer_command} into your layout just after your GTM initialization script. This will create a push command with granted consent groups.

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

Add new section into your administration in app/controllers/admin/admin.php.

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

Include public/scripts/utils/cookie_consent.js in gulpfile.js into applicationScripts.

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

Include CookieConsentsRouter with some nice URIs.

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

...

Atk14Url::AddRouter("CookieConsentsRouter");

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

Usage

Checking whether a category of the cookie consent is accepted or not in Javascrip and PHP:

Javascript

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

PHP

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

Requirements

You must have the atk14/drink-markdown package installed in your project.

Helper link_to_page is used in template src/app/views/cookie_consents/_edit.tpl. Create a local copy of the template, if you want to make local changes in it.

License

CookieConsent is free software distributed under the terms of the MIT license

atk14/cookie-consent 适用场景与选型建议

atk14/cookie-consent 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 15.33k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 11 月 21 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 atk14/cookie-consent 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 atk14/cookie-consent 我们能提供哪些服务?
定制开发 / 二次开发

基于 atk14/cookie-consent 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 15.33k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 11
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 3
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-11-21