fairlane/cookie-consent-bundle

EU Cookie Consent Bundle for Symfony

Installs: 3 554

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 1

Forks: 2

Open Issues: 0

Type:symfony-bundle

1.0.2 2017-11-12 00:24 UTC

This package is not auto-updated.

Last update: 2024-06-16 14:03:06 UTC


README

Symfony 3 Cookie Consent bundle

Installation

Step 1: Install the bundle

The easiest way to install the bundle is by using composer.

$ composer require fairlane/cookie-consent-bundle"

This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.

Step 2: Enable the Bundle

Then, enable the bundle by adding it to the list of registered bundles in the app/AppKernel.php file of your project:

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new Fairlane\CookieConsentBundle\FairlaneCookieConsentBundle(),
        );

        // ...
    }

    // ...
}

Step 3: Configure bundle

This bundle has few simple configurations. To see the list configuration options run following command:

$ bin/console config:dump-reference fairlane_cookie_consent

You must expose the fairlane_cookie_consent.twig service globally.

twig:
    // ...
    globals:
      // ...
      fairlane_cookie_consent: '@fairlane_cookie_consent.twig'

Your config should look something like this.

# Fairlane Cookie Consent configuration
fairlane_cookie_consent:
    active: true
    use_bootstrap: true
    use_jquery: true
    translate: false
    cookie_lifetime: 365 # days
    twig:
        text_info: 'This site uses cookies for...'
        text_accept_button: 'OK'
        text_additional_info_link: 'Read more about our cookie policy from here'
        url_additional_info: 'https://yourdomain/your-cookie-policy'

twig:
    globals:
      fairlane_cookie_consent: '@fairlane_cookie_consent.twig'

The routes must be imported as well. Add following route to your routes.yml

fairlane_cookie_consent:
    resource: "@FairlaneCookieConsentBundle/Resources/config/routing.yml"

Finally, include the twig template into your layout file.

{{ include('FairlaneCookieConsentBundle::cookie-info.html.twig') }}

Step 4: Style the cookie notification

The id of the div fairlane-cookie-consent. Feel free to style it as you please. If you set the use_bootsrap to true the extension will add navbar navbar-fixed-top classes to the div and btn btn-primary classes to the button.

If you set use_jquery to true acceptance of cookies is sent via ajax call & the div fades out. Otherwise you need to handle calling the Cookie:accept (route id: fairlane_cookie_consent_accept) by yourself. This route only accepts POST requests.

ToDo

  • Improve & enrich the instructions