$wsConsent-Modul lesen Sie die Einwilligung des Kunden zu Cookies und Services und steuern damit, welche Inhalte und externen Skripte geladen werden. Damit können Sie beispielsweise einen Tracking- oder Marketing-Service erst dann einbinden, wenn der Kunde ihm zugestimmt hat.
Auf dieser Seite geht es um das Lesen des Einwilligungsstatus. Das Setzen der Einwilligung (Zustimmen, Ablehnen, Auswahl speichern) erfolgt über Aktionen und ist separat unter Aktionen → Consent dokumentiert. Die zugehörigen Cookies selbst behandelt das Modul $wsCookies.
Grundkonzept
Die Einwilligung ist zweistufig organisiert: Gruppen (z. B. „Statistik“, „Marketing“) bündeln einzelne Services (z. B. „Google Analytics“). Der Kunde kann entweder allen zustimmen („Alle erlauben”) oder eine Auswahl pro Gruppe/Service treffen. Jeder Eintrag trägt ein „allowed“-Flag, das die Entscheidung widerspiegelt.$wsConsent stellt diesen Status auf folgenden Wegen bereit:
- Gesamtstatus –
alreadySet(hat der Kunde überhaupt schon entschieden?) undallAllowed(hat er allem zugestimmt?). Damit steuern Sie, ob der Consent-Layer überhaupt angezeigt werden muss. - Strukturierte Liste –
groupsmit ihrenservices, um einen Consent-Layer aufzubauen. - Gezielte Prüfung –
checkAllowed(serviceName), um vor dem Laden eines bestimmten Skripts die Zustimmung zu prüfen. Das ist der empfohlene Weg zum Einbinden externer Skripte.
Einwilligung entscheidet, ob das Skript überhaupt geladen wird
Template-Code läuft beim Seitenaufbau. Wenn Sie ein Skript mit{{ if $wsConsent.checkAllowed(...) }} umschließen, wird das Skript bei fehlender Zustimmung gar nicht erst in die Seite geschrieben, nicht nur ausgeblendet. So stellen Sie sicher, dass ein abgelehnter Service auch wirklich nicht lädt.
Modulübersicht
Beispiel / Ausschnitt über$wsConsent
"ƒ()" kennzeichnet eine Funktion.
Variablen in der Übersicht
| Variable | Typ | Beschreibung |
|---|---|---|
alreadySet | bool | Ob der Kunde bereits eine Einwilligung gesetzt hat. |
allAllowed | bool | Ob der Kunde allen Cookies/Services zugestimmt hat. |
groups | array | Konfigurierte Gruppen, jeweils mit ihren services. |
services | array | Flache Liste aller konfigurierten Services. |
groups[] wie für services[])
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
name | string | Technischer Name (für checkAllowed()). |
label | string | Für den Kunden sichtbare Bezeichnung. |
description | string | Beschreibung. |
allowed | bool | Ob der Eintrag erlaubt (akzeptiert) ist. |
services | array | Nur bei groups[]: die zugeordneten Services. |
| Methode | Rückgabe-Typ | Beschreibung |
|---|---|---|
checkAllowed() | bool | Prüft, ob ein bestimmter Service akzeptiert wurde. |
Templates
Der Consent-Layer kann global aufgerufen werden und wird aus dem Templateconsent.htm geladen.
Variablen
$wsConsent.alreadySet
Gibt aus, ob der Kunde bereits eine Cookie-/Service-Einwilligung gesetzt hat. Nutzen Sie es beispielsweise, um den Consent-Layer nur dann anzuzeigen, wenn noch keine Entscheidung vorliegt.$wsConsent.allAllowed
Gibt aus, ob der Kunde allen Services zugestimmt hat (Schaltfläche „Alle erlauben”).$wsConsent.groups
Gibt die konfigurierten Gruppen aus. Jede Gruppe trägt die Eigenschaften eines Eintrags und enthält unterservices die zugeordneten Services. Nutzen Sie die Gruppen, um einen strukturierten Consent-Layer aufzubauen.
$wsConsent.services
Gibt alle konfigurierten Services als Liste aus, unabhängig von der Gruppenzuordnung. Die Einträge tragen die Eigenschaften eines Eintrags.Methoden
$wsConsent.checkAllowed()
Prüft, ob ein bestimmter Service vom Kunden akzeptiert wurde. Dies ist der empfohlene Weg, um vor dem Laden eines externen Skripts die Zustimmung zu prüfen, da das Skript bei fehlender Zustimmung gar nicht erst gerendert wird. Signatur$wsConsent.checkAllowed(serviceName)
Rückgabebool – true, wenn der Service akzeptiert wurde, sonst false.
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
serviceName | string | ja | Technischer Name des Services (das name-Feld eines Eintrags). |
Aktionen
Aktionen zu diesem Modul (Einwilligung setzen, ändern, speichern) sind separat dokumentiert: Aktionen → Consent.Beispiele
Externes Skript einwilligungsabhängig laden
Bindet ein Skript nur ein, wenn der zugehörige Service akzeptiert wurde. Bei fehlender Zustimmung wird das Skript nicht in die Seite geschrieben.Das Tracking-Skript erscheint nur im Quelltext, wenn der Kunde „Google Analytics” akzeptiert hat.
Consent-Layer aus Gruppen und Services aufbauen
Durchläuft die Gruppen und je Gruppe ihre Services, was die typische Struktur eines Consent-Layers widerspiegelt.Pro Gruppe ein Block mit den enthaltenen Services; bereits akzeptierte Services sind angehakt.
Inhalt nur bei Zustimmung anzeigen
Zeigt einen einwilligungspflichtigen Inhalt (z. B. ein eingebettetes Video) nur an, wenn der Service akzeptiert wurde, ansonsten einen Hinweis.Bei Zustimmung erscheint der Inhalt, sonst der Hinweis.
Weiterführende Links
- Aktionen → Consent – die Einwilligung setzen und speichern (dieses Modul liest sie nur).
- $wsCookies – die durch die Einwilligung gesteuerten Cookies.
