xsolve-pl/xsolve-cookie-acknowledgement-bundle

XSolve Cookie Acknowledgement Bundle 用于处理新的隐私法律

v1.0.0 2013-08-02 10:52 UTC

This package is not auto-updated.

Last update: 2024-09-24 08:40:30 UTC


README

knpbundles.com

SensioLabsInsight

此包提供关于cookies使用的详细信息,这是由欧盟所谓的欧盟cookie法规强制执行的。

它包括

  • 快速简单集成和短的学习曲线
  • 自动在页面底部注入cookie栏
  • 手动注入cookie栏的能力(例如对于iframe)
  • 更改文本和“关闭按钮”名称的能力
  • 本地化支持
  • 提供自定义cookie栏模板的能力

此包需要Multibyte String扩展。

Example usage

安装

  1. 添加到composer.json

    "require": { "xsolve-pl/xsolve-cookie-acknowledgement-bundle": "1.0.*" },

  2. 安装依赖项

    composer install

  3. 在app/AppKernel.php中运行该包

    public function registerBundles() { return array( // ... new Xsolve\CookieAcknowledgementBundle\XsolveCookieAcknowledgementBundle(), ); }

使用方法

对于所有静态页面

默认情况下,在启用包后,cookie栏将出现在每个页面上。

对于iframe

在app/config/config.yml中禁用响应注入

xsolve_cookie_acknowledgement:
    response_injection: false

在适当的位置包含cookie栏

{% include 'XsolveCookieAcknowledgementBundle::cookie_acknowledgement_bar.html.twig' %}

配置选项

配置可以在app/config/config.yml中调整

xsolve_cookie_acknowledgement:
    response_injection: true # default true
    template: custom_cookie_bar.html.twig # twig template name, default: XsolveCookieAcknowledgementBundle::cookie_acknowledgement_bar.html.twig

更改cookie栏文本

将翻译文件放在您的应用目录中

app/Resources/translations/XsolveCookieAcknowledgementBundle.en.yml

并更改文本

cookie.message: My message
cookie.message.accept: Accept button text

当然,您可以在所需的任何区域设置中设置这些文本。

更改cookie栏外观

默认情况下,cookie栏附带一些默认样式。如果您想更改这些样式,请使用CSS。例如,您可能希望有粉红色的背景,并将其放置在页面顶部

#cookie-law-info-bar {
    background: pink !important;
    top: 50px !important;
    bottom: auto !important;
}

请注意,每个样式都需要!important来覆盖提供的内联样式。

更改整个cookie栏模板

您可以通过在配置中设置(app/config/config.yml)来使用自己的模板

xsolve_cookie_acknowledgement:
    template: ::custom_cookie_bar.html.twig

在上面的例子中,模板位于app/Resources/custom_cookie_bar.html.twig

此外,基本模板可以通过Twig扩展重复使用(使用了两个块:xsolve_cookie_message和xsolve_cookie_message_js),下面是示例

{% extends "XsolveCookieAcknowledgementBundle::cookie_acknowledgement_bar.html.twig" %}

{% block xsolve_cookie_message %}
    {{ parent() }}
    <div>This is something custom</div>
{% endblock %}

{% block xsolve_cookie_message_js %}
    {{ parent() }}
    <script type="text/javascript">
        document.getElementById('js-cookie-law-close-button').onclick = function () {
            alert('Got ya!');
        }
    </script>
{% endblock %}

自动化测试

有一些简单的测试来确保一切正常。要运行测试,请将此包包含到某个Symfony2项目中(Symfony Standard Edition就足够了)。然后将测试套件放在app/phpunit.xml中

<testsuite name="XSolve Cookie Acknowledgement Bundle Suite">
    <directory>../vendor/xsolve-pl/xsolve-cookie-acknowledgement-bundle/Xsolve/CookieAcknowledgementBundle/Tests/</directory>
</testsuite>

然后运行

phpunit -c app/