itemvirtual / cookies-popup
Laravel 项目中的 Cookie 同意管理
Requires
- php: ^7.4|^8.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
README
Laravel 包
此包提供了一个弹出层来管理 Cookie 同意
安装
您可以通过 composer 安装此包
composer require itemvirtual/cookies-popup
发布配置文件(使用 --force 选项更新)
php artisan vendor:publish --provider="Itemvirtual\CookiesPopup\CookiesPopupServiceProvider" --tag=config
您需要将包的 Cookie 名称添加到 EncryptCookies
数组除外
# file app/Http/Middleware/EncryptCookies.php protected $except = [ 'analytical_cookies', 'advertising_cookies', 'recaptcha_cookies', 'preferences_cookies', ];
在 Laravel 11 中,您应该在应用程序的 bootstrap/app.php
文件中添加到 encryptCookies
方法中的 Cookie 名称
->withMiddleware(function (Middleware $middleware) { $middleware->encryptCookies(except: [ 'analytical_cookies', 'advertising_cookies', 'recaptcha_cookies', 'preferences_cookies', ]); })
生成翻译
在 labels
部分有一个命令可以创建所需的翻译
php artisan cookies-popup:generate-labels
如果您希望将翻译创建在文件中,这些是必要的索引
cookies-popup-title cookies-popup-text cookies-popup-configure cookies-popup-accept accept-required-cookies-label accept-required-cookies-info accept-preferences-cookies-label accept-preferences-cookies-info accept-analytical-cookies-label accept-analytical-cookies-info accept-advertising-cookies-label accept-advertising-cookies-info accept-recaptcha-cookies-label accept-recaptcha-cookies-info cookies-popup-close cookies-configure-link
使用方法
打印弹出层
要添加 Cookie 弹出层,请将此代码放在您的 HTML 布局页脚之后
{!! \Itemvirtual\CookiesPopup\CookiesPopup::addCookiesPopup() !!}
如果您的 config/cookies-popup.php
中的 add-inline-styles
设置为 false
。您应该在 <head>
HTML 标签内部使用 getHeadStyles()
{!! \Itemvirtual\CookiesPopup\CookiesPopup::getHeadStyles() !!}
要添加打开 Cookie 弹出层的链接,请使用 cookies-popup-show
参数的 id
<a href="#" id="cookies-popup-show" rel="noopener">{{ trans('cookies-popup.cookies-configure-link') }}</a>
检查 Cookie 是否允许
要隐藏或显示与 Cookie 同意相关的内容,请使用 allowed
方法
@if(\Itemvirtual\CookiesPopup\CookiesPopup::allowedAnalyticalCookies())
@endif
@if(\Itemvirtual\CookiesPopup\CookiesPopup::allowedAdvertisingCookies())
@endif
@if(\Itemvirtual\CookiesPopup\CookiesPopup::allowedRecaptchaCookies())
@endif
@if(\Itemvirtual\CookiesPopup\CookiesPopup::allowedPreferencesCookies())
@endif
添加 Google Analytics 脚本
要将脚本添加到您的布局(gtag.js
或 analytics.js
),请使用您需要的 ()
方法
{!! \Itemvirtual\CookiesPopup\CookiesPopup::getGtagJs() !!}
{!! \Itemvirtual\CookiesPopup\CookiesPopup::getAnalyticsJs() !!}
您需要添加一个环境变量 GA_MEASUREMENT_ID
,它可以是逗号分隔的数组
GA_MEASUREMENT_ID="UA-XXXXXXXX-X" GA_MEASUREMENT_ID="G-XXXXXXXXXX, AW-XXXXXXXXXX"
analytics.js
脚本是正常的或 async
脚本 更多信息
样式
为了样式化您的弹出窗口,您有两个选项。
配置参数 custom_styles
或 custom_classes
使用 custom_styles
您可以更改一些 CSS 样式。如果您需要更深入的设计更改,请使用 custom_classes
,它将连接到通用类
文档链接
Google Consent Mode
如何配置网站上的同意模式
如何使用 Tag Assistant 解决同意模式的故障
Tag Manager 同意模式支持
Google Tag Assistant
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG
贡献
有关详细信息,请参阅 CONTRIBUTING
鸣谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件