赵世杰/laravel-cookie-consent

允许/禁止Laravel应用中的cookie类型

v1.0.0 2023-02-25 09:33 UTC

This package is auto-updated.

Last update: 2024-09-27 10:04:53 UTC


README

此包目前正在开发中。

该包提供必要的视图和控制台,以便在窗口底部显示固定的消息,提示用户接受或配置cookie。

如果用户选择配置cookie,将显示一个模态窗口,列出网站使用的所有类型的cookie,允许禁用或启用某些类型。一旦保存了他的偏好设置,就会显示一个按钮,允许用户配置他的偏好设置。

视图使用tailwindcss进行样式设计,alpinejs利用其余部分,因此这些是Laravel项目中必需的。

一旦保存了偏好设置,你可以在你的视图中检查是否允许某种类型的cookie,如下所示

@if(session('cookie-config.Functional')) 
    //Your code, maybe a Google Analytics tag 
@endif

其中 Functional 对应于配置文件中cookie数组中的一个 type 值。

安装

此包旨在用于使用Tailwindcss和AlpineJS的现有Laravel项目。

您可以通过composer安装此包

composer require pascalkrieger/laravel-cookie-consent

Tailwindcss和AlpineJS应该已经安装,如果没有,请按照其文档中的说明进行安装。

有关Tailwindcss,请访问:https://tailwind.org.cn/docs/guides/laravel

有关AlpineJS,请访问:https://alpinejs.dev/essentials/installation

运行以下命令发布视图

php artisan vendor:publish --provider="Pascalkrieger\LaravelCookieConsent\LaravelCookieConsentServiceProvider" --tag="laravel-cookie-consent-views"

然后运行

npm run build

用法

在页面或布局的底部包含blade组件

    <x-laravel-cookie-consent::index /> 

您应该发布并编辑配置文件,运行此命令

    php artisan vendor:publish --provider="Pascalkrieger\LaravelCookieConsent\LaravelCookieConsentServiceProvider" --tag="laravel-cookie-consent-config"

代码相当简单易懂。如前所述,这是正在进行的工作,目前正在我的一些其他项目中使用。欢迎您按需使用。

本地化

该包目前包含英语和西班牙语的翻译。您可以轻松添加更多语言,首先使用以下命令发布包的lang文件夹

    php artisan vendor:publish --provider="Pascalkrieger\LaravelCookieConsent\LaravelCookieConsentServiceProvider" --tag="laravel-cookie-consent-lang"

lang/vendor/laravel-cookie-consent 下添加一个文件夹,包含你的语言代码,例如 lang/vendor/laravel-cookie-consent/de,并在其中放置一个包含以下内容的 text.php 文件

// lang/vendor/laravel-cookie-consent/de/text.php

<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Laravel Cookie Consent Language Lines
    |--------------------------------------------------------------------------
    |
    |
    */

    'modal-heading' => 'Cookie-Konfiguration',
    'configure' => 'Konfigurieren',
    'accept' => 'Akzeptieren',
    'back' => 'Zurück',
    'my-cookies-button' => 'Meine Cookies',

    'modal-body' => 'Hier können Sie die von uns verwendeten Cookies überprüfen und konfigurieren, welche Cookies Sie in Ihrem Webbrowser installieren möchten.',

    'message' => 'Wir verwenden unsere eigenen Cookies und Cookies von Drittanbietern beim Surfen auf der Website, um den Zugriff auf die Funktionen der Website zu ermöglichen, Verkehrsstatistiken zu extrahieren und die Benutzererfahrung zu verbessern. Sie können alle Cookies akzeptieren und auswählen, welche Sie aktivieren möchten. Weitere Informationen finden Sie in unserer Cookie-Richtlinie.',

];