$wsCookies

$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

Methode

Rückgabe-Typ

Beschreibung

getCookie()

string

Liest den Wert eines Cookies anhand seines Namens.

setCookie()

-

Setzt ein neues Cookie.

updateCookie()

string

Aktualisiert den Wert eines bestehenden Cookies.

deleteCookie()

-

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ückgabe
string - Wert des Cookies.

Parameter

Name

Typ

Pflicht

Beschreibung

Name

Typ

Pflicht

Beschreibung

name

string

ja

Name des Cookies.

options

map

nein

Steuert optionales Verhalten.
Rückgabewerte der Map:

  • keepNameAsIs (bool) – Verwendet den Cookie-Namen unverändert. Standardmäßig wird der Name nach dem Schema wsvx_<shopId>_<name>cookie umgeschrieben (z. B. testwsvx_example_testcookie), um Konflikte mit anderen Cookies zu vermeiden. Nötig, wenn auf Cookies zugegriffen wird, die außerhalb des Shops gesetzt wurden – z. B. durch ein eingebundenes Cookie-Banner.

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

Name

Typ

Pflicht

Beschreibung

name

string

ja

Name des Cookies.

value

string

ja

Wert des Cookies.

options

map

nein

Steuert optionales Verhalten.
Rückgabewerte der Map:

  • keepNameAsIs (bool) – Verwendet den Cookie-Namen unverändert. Standardmäßig wird der Name nach dem Schema wsvx_<shopId>_<name>cookie umgeschrieben (z. B. testwsvx_example_testcookie), um Konflikte mit anderen Cookies zu vermeiden. Nötig, wenn auf Cookies zugegriffen wird, die außerhalb des Shops gesetzt wurden – z. B. durch ein eingebundenes Cookie-Banner.

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ückgabe
string - Neuer Cookie Wert.

Parameter

Name

Typ

Pflicht

Beschreibung

Name

Typ

Pflicht

Beschreibung

name

string

ja

Name des Cookies.

value

string

ja

Neuer Wert des Cookies.

options

map

nein

Steuert optionales Verhalten.
Rückgabewerte der Map:

  • keepNameAsIs (bool) – Verwendet den Cookie-Namen unverändert. Standardmäßig wird der Name nach dem Schema wsvx_<shopId>_<name>cookie umgeschrieben (z. B. testwsvx_example_testcookie), um Konflikte mit anderen Cookies zu vermeiden. Nötig, wenn auf Cookies zugegriffen wird, die außerhalb des Shops gesetzt wurden – z. B. durch ein eingebundenes Cookie-Banner.

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

Name

Typ

Pflicht

Beschreibung

name

string

ja

Name des Cookies.

options

map

nein

Steuert optionales Verhalten.
Rückgabewerte der Map:

  • keepNameAsIs (bool) – Verwendet den Cookie-Namen unverändert. Standardmäßig wird der Name nach dem Schema wsvx_<shopId>_<name>cookie umgeschrieben (z. B. testwsvx_example_testcookie), um Konflikte mit anderen Cookies zu vermeiden. Nötig, wenn auf Cookies zugegriffen wird, die außerhalb des Shops gesetzt wurden – z. B. durch ein eingebundenes Cookie-Banner.

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.

 


Weiterführende Links