Symfony 3 Cookie Consent 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.
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(),
);
// ...
}
// ...
}
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') }}
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.
- Improve & enrich the instructions