ekyna / cookie-consent-bundle
Cookie consent (GDPR)
Installs: 1 725
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=7.2
- doctrine/doctrine-bundle: ~1.4
- symfony/form: ^3.4|^4.0
- symfony/framework-bundle: ^3.4|^4.0
- symfony/twig-bundle: ^3.4|^4.0
- symfony/validator: ^3.4|^4.0
README
Installation
composer require ekyna/cookie-consent-bundle
Register bundle and routes
// app/AppKernel.php public function registerBundles() { $bundles = [ // ... new Ekyna\Bundle\CookieConsentBundle\EkynaCookieConsentBundle(), ]; // ... }
# app/config/routing.yml ekyna_cookie_consent: resource: "@EkynaCookieConsentBundle/Resources/config/routing.yaml"
Use twig functions
{# base.html.twig #} <!DOCTYPE html> <html lang="en"> <head> <link href="{{ asset('bundles/ekynacookieconsent/css/cookie-consent.css') }}" rel="stylesheet" type="text/css" /> <head> <body> {# ... #} {% block javascripts %} {# Renders the cookie consent widget (if not yet consented) #} {{ ekyna_cookie_consent_render() }} {# Check if cookie category has user consent ('analytic', 'marketing' or 'social_network') #} {% if ekyna_cookie_consent_category_allowed('analytic') %} <script src="https://example.org/analytic.js"></script> {% endif %} {% endblock javascripts %} </body> </html>
ekyna_cookie_consent_render() options with their default values:
{{ ekyna_cookie_consent_render({ render_if_saved: false, // Whether to render even if consent has been saved. expanded: false, // Whether to show settings dialog: true // Whether to render as a dialog/popup }) }}
Configuration
Available configuration with default values.
# app/config/config.yml ekyna_cookie_consent: name: Cookie_Content # The consent cookie name read_more_route: ~ # Route name to your privacy policy page position: centered # Widget positioning ('centered' or 'bottom-right') categories: # Cookies categories the user has to consent - analytic - marketing - social_network persist: true # Whether to persist user consent
TODO
- Encrypt cookie consent entity's IP property.