$wsCookies
Mit dem $wsCookie Modul können Sie Browser-Cookies lesen, setzen, aktualisieren und löschen. Typische Anwendungsfälle sind das Speichern von Benutzereinstellungen wie Theme-Auswahl oder das Merken von Produktansichten. In diesem Abschnitt erfahren Sie, wie Sie Cookies über die verfügbaren Methoden verwalten können.
Hinweis: Beachten Sie, dass das Setzen von Cookies je nach Art (technisch notwendig vs. Marketing/Tracking) eine Einwilligung des Nutzers erfordern kann. Verwenden Sie $wsConsent.checkAllowed(), um die Zustimmung zu prüfen, bevor Sie nicht-notwendige Cookies setzen.
Inhaltsverzeichnis
Modulübersicht
Beispiel / Ausschnitt über $wsCookie
{{= $wsCookie | json }}
JSON-Ausgabe
{
"deleteCookie": "ƒ()",
"getCookie": "ƒ()",
"setCookie": "ƒ()",
"updateCookie": "ƒ()"
}Anmerkung: "ƒ()" kennzeichnet eine Funktion.
Methoden in der Übersicht
Methode | Rückgabe-Typ | Beschreibung |
|---|---|---|
| string | Liest den Wert eines Cookies anhand seines Namens. |
| - | Setzt ein neues Cookie. |
| string | Aktualisiert den Wert eines bestehenden Cookies. |
| - | Löscht ein Cookie anhand seines Namens. |
Templates
Die Cookie-Funktionen können auf jeder Seite des Shops verwendet werden. Typische Einsatzgebiete sind das Speichern von Benutzereinstellungen wie Theme-Auswahl, Sprachpräferenzen oder zuletzt angesehene Produkte.
Variablen
Für $wsCookie stehen keine Variablen zur Verfügung.
Methoden
$wsCookie.getCookie()
Liest den Wert eines Cookies anhand seines Namens.
Signatur$wsCookie.getCookie(name)
Rückgabestring - Wert des Cookies.
Parameter
Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| string | ja | Name des Cookies. |
| map | nein | Steuert optionales Verhalten.
|
Beispiel, das den Wert eines Theme-Cookies liest.
{{ var $myThemeCookie = $wsCookie.getCookie("wsThemeVariable") }}Beispiel, das den Namen eines extern gesetzten Cookies ohne automatische Namensänderung ausliest.
{{ var $myExternCookie = $wsCookie.getCookie("consent", { keepNameAsIs: true }) }}
$wsCookie.setCookie()
Setzt ein neues Cookie.
Signatur
$wsCookie.setCookie (name, value)
Rückgabe
-
Parameter
Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| string | ja | Name des Cookies. |
| string | ja | Wert des Cookies. |
| map | nein | Steuert optionales Verhalten.
|
Beispiel das ein Theme-Cookie setzt.
{{ $wsCookie.setCookie("wsThemeColor", "dark") }}Beispiel das ein externes Cookie setzt, ohne den Namen auf den automatisch zu ändern.
{{ $wsCookie.setCookie("myBannerCookie", "accepted", { keepNameAsIs: true }) }}
$wsCookie.updateCookie()
Aktualisiert den Wert eines bestehenden Cookies.
Signatur$wsCookie.updateCookie(name, value)
Rückgabestring - Neuer Cookie Wert.
Parameter
Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| string | ja | Name des Cookies. |
| string | ja | Neuer Wert des Cookies. |
| map | nein | Steuert optionales Verhalten.
|
Beispiel das ein Theme-Cookie aktualisiert.
{{ $wsCookie.updateCookie("wsThemeColor", "light") }}Beispiel das ein extern gesetztes Cookie ohne Namensänderung aktualisiert.
{{ $wsCookie.updateCookie("myBannerCookie", "declined", { keepNameAsIs: true }) }}
$wsCookie.deleteCookie()
Löscht ein Cookie anhand seines Namens.
Signatur$wsCookie.deleteCookie(name)
Rückgabe
-
Parameter
Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| string | ja | Name des Cookies. |
| map | nein | Steuert optionales Verhalten.
|
Beispiel das ein gesetztes Cookie löscht.
{{ $wsCookie.deleteCookie("wsThemeColor") }}Beispiel das ein extern gesetztes Cookie löscht.
{{ $wsCookie.deleteCookie("myBannerCookie", { keepNameAsIs: true }) }}
Aktionen
Für $wsCookies stehen keine Aktionen zur Verfügung.
Beispiele
Theme umschalten
Liest das aktuelle Theme-Cookie und wechselt bei Bedarf auf das helle Theme.
{{ var $currentTheme = $wsCookie.getCookie("wsThemeColor") }}
{{ if $currentTheme == "dark" }}
{{ $wsCookie.updateCookie("wsThemeColor", "light") }}
{{ /if }}
Zugriff auf ein externes Cookie
Externe Cookies (eingefügt per JavaScript oder Cookie-Banner) setzen ihre Cookies direkt ohne die automatische Umbenennung durch den Shop. Um auf diese Cookies zugreifen zu können, muss keepNameAsIs: true übergeben werden.
{{ var $myConsentStatus = $wsCookie.getCookie("consent", { keepNameAsIs: true }) }}
{{ if $myConsentStatus == "accepted" }}
{{/* Zustimmung vorhanden – z. B. Marketing-Cookie setzen */}}
{{ /if }}
WelcomeBack-Cookie
Mit dem $wsCookie Modul lassen sich auch Features wie ein “WelcomeBack-Cookie” umsetzen. In diesem Beispiel realisieren wir das Feature wie folgt:
Der Kunde wird beim Aufruf des Shops mit einer persönlichen Willkommensnachricht begrüßt - auch wenn er noch nicht eingeloggt ist.
Die Begrüßung ist nur sichtbar, wenn der Kunde sich zuvor einmal eingeloggt hatte.
Der Cookie wird für eine festgelegte Dauer gespeichert. Nach Ablauf dieser Zeit verschwindet die Begrüßung, bis sich der Kunde erneut einloggt.
Schritt 1: Cookie beim Login setzen
Sobald der Kunde eingeloggt ist, wird sein Anzeigename im Cookie gespeichert. Falls kein Name vorhanden ist, wird die E-Mail-Adresse als Fallback verwendet. Der dritte Parameter gibt an, wie lange der Cookie gültig sein soll, in diesem Beispiel 365 Tage (in Sekunden).
{{ if $wsAccount.isLoggedIn }}
{{ $wsCookie.setCookie("welcomeBackName", ifNull($wsAccount.displayName, $wsAccount.email), 31536000) }}
{{ /if }}
Schritt 2: Begrüßung auf anderen Seiten anzeigen
Auf einer beliebigen Seite, z.B. der Startseite, wird der gespeicherte Name aus dem Cookie gelesen und die Begrüßung angezeigt. Ist kein Cookie vorhanden (weil sich der Kunde nie eingeloggt hat oder der Cookie abgelaufen ist), wird nichts angezeigt.
{{ var $name = $wsCookie.getCookie("welcomeBackName") }}
{{ if $name }}
Willkommen zurück, {{= $name }}!
{{ /if }}
Hinweis:
Der Cookie bleibt so lange aktiv, bis er manuell gelöscht wird oder die angegebene Gültigkeitsdauer abläuft. Da dieser Cookie personenbezogene Daten enthält, empfehlen wir, die Einwilligung des Nutzers über $wsConsent.checkAllowed() zu prüfen und auf der Startseite auf die Cookie-Richtlinien hinzuweisen.