ezsystems / privacy-cookie-bundle
将隐私饼干横幅集成到常规的Symfony 2.x应用程序中(支持eZ Publish/eZ Platform)
Requires
- symfony/symfony: ^2.6|^3.0
This package is auto-updated.
Last update: 2024-09-14 02:12:55 UTC
README
此捆绑包将隐私饼干横幅添加到Symfony应用程序中。
要求
- Symfony v2.6或更高版本(包括Symfony 3.x)
安装
此包通过Composer提供,因此以下说明与其他开源Symfony捆绑包的安装方法类似。
在终端中运行以下命令,从您的Symfony安装根目录(选择最新版本)
php composer.phar require ezsystems/privacy-cookie-bundle
在app/AppKernel.php
文件中启用捆绑包
$bundles = array( // existing bundles new EzSystems\PrivacyCookieBundle\EzSystemsPrivacyCookieBundle(), );
将外部资产添加到您的捆绑包中
- CSS
bundles/ezsystemsprivacycookie/css/privacycookie.css
- JS
bundles/ezsystemsprivacycookie/js/privacycookie.js
Assetic(可选)
在app/AppKernel.php
文件中启用Assetic捆绑包
$bundles = array( // ... // 从Symfony 2.8开始,如果您之前没有手动启用AsseticBundle,则需要手动启用new Symfony\Bundle\AsseticBundle\AsseticBundle() );
在config.yml
文件中添加以下最小配置以启用应用程序中的Assetic
支持(Symfony 2.8及更高版本)
assetic: debug: '%kernel.debug%' use_controller: '%kernel.debug%' filters: cssrewrite: ~
如果您通过composer require
安装捆绑包,则还必须将资产复制到项目的web
目录。您可以通过从项目根目录调用Symfony的内置命令来完成此操作
对于Symfony 2.x
php app/console assets:install --symlink
对于Symfony 3.x
php bin/console assets:install --symlink
在生产环境中,您必须使用Assetic内置命令来导出资产
对于Symfony 2.x
php app/console assetic:dump -e=prod
对于Symfony 3.x
php bin/console assetic:dump -e=prod
使用方法
在您的页脚模板中插入以下助手代码{{ show_privacy_cookie_banner(%privacy_policy_url%) }}
,在结束标签之前。将%privacy_policy_url%
参数替换为您的政策页面地址。
请注意,%privacy_policy_url%
参数不是必需的,在这种情况下,将不会显示政策链接。
以下可选参数可以作为数组的第二个参数设置
标准Symfony应用程序中使用示例
{{ show_privacy_cookie_banner('http://ez.no/Privacy-policy') }}
或
{{ show_privacy_cookie_banner('http://ez.no/Privacy-policy', { cookieName: 'myCookie', cookieValidity: 7, cookiePath: '/', caption: 'Nice to see you here', learnMoreText: 'Find out more' }) }}
如果您使用eZ Publish / Platform,则可以使用ez_urlalias
为指定的内容对象生成路径
{{ show_privacy_cookie_banner(path('ez_urlalias', {contentId: 94}), { cookieName: 'myCookie', cookieValidity: 7, caption: 'Nice to see you here' }) }}
extraParams使用示例
{{ show_privacy_cookie_banner('http://ez.no/Privacy-policy', { cookieName: 'myCookie', extraParams: { my_param1: value_my_param1 , my_param2: value_my_param2 } }) }}