Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Cookie Consent Laravel Package

jeffersongoncalves/laravel-cookie-consent

Simple Laravel cookie consent banner with GDPR/CCPA-friendly preferences. Drop-in head/body includes, optional view publishing for customization, and settings stored in the database via spatie/laravel-settings with helper access for runtime updates.

View on GitHub
Deep Wiki
Context7

Laravel Cookie Consent

Laravel Cookie Consent

Latest Version on Packagist GitHub Code Style Action Status Total Downloads

This Laravel package provides a simple and elegant way to implement cookie consent on your website, ensuring compliance with privacy regulations like GDPR and CCPA. It offers a clean and customizable interface, allowing you to easily manage and display cookie consent banners and preferences.

Installation

You can install the package via composer:

composer require jeffersongoncalves/laravel-cookie-consent

Run the migrations to create the settings in the database:

php artisan migrate

Usage

Add head template.

@include('cookie-consent::cookie-consent-head')

Add body template.

@include('cookie-consent::cookie-consent-body')

Publish views (optional).

php artisan vendor:publish --tag=cookie-consent-views

Publish settings migrations (optional).

php artisan vendor:publish --tag=cookie-consent-settings-migrations

Configuration

All settings are stored in the database using spatie/laravel-settings. You can access and modify them at runtime using the CookieConsentSettings class or the cookie_consent_settings() helper.

Accessing settings

use JeffersonGoncalves\CookieConsent\Settings\CookieConsentSettings;

// Via helper
$settings = cookie_consent_settings();

// Via container
$settings = app(CookieConsentSettings::class);

// Read a value
$position = $settings->position;

Updating settings

$settings = cookie_consent_settings();
$settings->position = 'top-right';
$settings->popup_background = '#000000';
$settings->save();

Available settings

Property Type Default
css_url string https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.css
js_url string https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.js
content_header string Cookies used on the website!
content_message string This website uses cookies to ensure you get the best experience on our website.
content_dismiss string Got it!
content_allow string Allow cookies
content_deny string Decline
content_link string Learn more
content_href ?string null
content_close string ❌
content_target string _blank
content_policy string Cookie Policy
popup_background string #696969
popup_text string #FFFFFF
popup_link string #FFFFFF
button_background string transparent
button_border string #f8e71c
button_text string #f8e71c
highlight_background string #f8e71c
highlight_border string #f8e71c
highlight_text string #000000
position string bottom-left
theme string block

Position

Top Left Top Right
Top Left Top Right
Bottom Left Bottom Right
Bottom Left Bottom Right

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

This package uses the Osano CookieConsent plugin.

License

The MIT License (MIT). Please see License File for more information.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor