ezsystems/privacy-cookie-bundle

将隐私饼干横幅集成到常规的Symfony 2.x应用程序中(支持eZ Publish/eZ Platform)

v1.0.0-beta8 2018-06-28 06:37 UTC

README

SensioLabsInsight

此捆绑包将隐私饼干横幅添加到Symfony应用程序中。

screenshot

要求

  • 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
   }
}) }}