$wsSession Modul können Sie Session-Daten des Kunden im Frontend auslesen und eigene Session-Variablen setzen. So können Sie personalisierte Inhalte anzeigen, Nutzerverhalten tracken oder den Session-Status bei Bezahlvorgängen prüfen. In diesem Abschnitt erfahren Sie, wie Sie Session-Daten lesen und schreiben können.
Modulübersicht
Beispiel / Ausschnitt über$wsSession
ƒ() kennzeichnet eine Funktion.
Variablen und Methoden in der Übersicht
| Name | Rückgabe-Typ | Beschreibung |
|---|---|---|
id | string | Gibt die ID der aktuellen Session aus. |
referer | string | Gibt die externe Seite aus, über die der Nutzer in den Shop gelangt ist (z.B. Google, Facebook). |
userReferer | string | Gibt einen frei definierbaren Wert aus, den der Nutzer im Shop gesetzt hat. Gesetzt wird er über ein Eingabefeld mit dem Namen ws_user_ref im Template. |
isInvalid | bool | true wenn Session ungültig, sonst false. |
isLocked | bool | true wenn Session gesperrt (Bezahlvorgang), sonst false. |
set() | - | Setzt eine Session-Variable. |
get() | string | Gibt den Wert einer zuvor mit set() gespeicherten Session-Variable zurück. |
Templates
Auf die Daten des $wsSession-Moduls kann auf allen Templates zugegriffen werden.Variablen
$wsSession.id
Gibt die ID der aktuellen Session aus.$wsSession.referer
Gibt die externe Seite aus, über die der Nutzer in den Shop gelangt ist, zum Beispiel eine Suchmaschine oder ein soziales Netzwerk. Der Wert wird automatisch beim ersten Seitenaufruf gesetzt und ist auch in den Bestelldaten enthalten.$wsSession.userReferer
Gibt einen frei definierbaren Wert aus, den der Nutzer im Shop gesetzt hat. Gesetzt wird er über ein Eingabefeld mit dem Namenws_user_ref im Template. Ob und wie das Feld eingesetzt wird, entscheidet das jeweilige Template-Design. Der Wert ist ebenfalls in den Bestelldaten enthalten.
$wsSession.isInvalid
Prüft, ob die Session gültig ist. Gibttrue aus, wenn die Session ungültig ist.
$wsSession.isLocked
Gibttrue aus, wenn die Session gesperrt ist. Eine Sperrung erfolgt während Online-Bezahlvorgängen (z.B. PayPal, Klarna), um parallele Änderungen am Warenkorb zu verhindern.
Methoden
$wsSession.set()
Setzt eine Session-Variable. Diese Werte bleiben über alle Folgeseiten hinweg gültig, bis sie überschrieben oder gelöscht werden. Signatur$wsSession.set(key, value)
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
key | string | ja | Name der Session-Variable. |
value | string | ja | Wert der Session-Variable. |
$wsSession.get()
Gibt den Wert einer zuvor mitset() gespeicherten Session-Variable zurück. Gibt einen leeren String zurück, wenn die Variable nicht existiert.
Signatur$wsSession.get(key)
Rückgabestring - Wert der Session-Variable.
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
key | string | ja | Name der Session-Variable. |
Aktionen
Aktionen zu diesem Modul sind separat im Kapitel Aktionen dokumentiert: SessionBeispiele
Ausgabe der aktuelle SessionID
Prüfen, ob Session gesperrt ist
Eine Session kann vorübergehend gesperrt werden, wenn ein Käufer eine Zahlungsart mit Online-Clearing wählt, bei der er auf eine externe Seite weitergeleitet wird (z. B. PayPal, Kreditkarte, Sofortüberweisung). Während der Sperrung sind keine weiteren Aktionen im Shop möglich, um Abweichungen zu verhindern – beispielsweise, wenn der Kunde in einem anderen Tab Produkte hinzufügt. Die Sperrung wird aufgehoben, sobald der Käufer den Bezahlvorgang abschließt oder abbricht. Sollte dies nicht möglich sein (z. B. wenn das externe System nicht erreichbar ist oder das Bezahlfenster geschlossen wurde), kann der Käufer eine neue Sitzung starten. Dabei bleibt sein Warenkorb und seine Anmeldung erhalten. Falls der Käufer den Shop während einer Sperrung aufruft, kann eine Hinweismeldung angezeigt werden:Session entsperren
Falls eine Session aufgrund eines ausstehenden Bezahlvorgangs gesperrt ist, kann der Käufer sie manuell entsperren, indem er eine neue Sitzung startet. Dabei werden der aktuelle Warenkorb, alle bisherigen Eingaben sowie die Anmeldung übernommen. Dies ist hilfreich, wenn der Bezahlvorgang nicht abgeschlossen werden konnte, z. B. aufgrund eines geschlossenen Zahlungsfensters oder eines technischen Problems auf der externen Zahlungsseite.Bestimmte Sessiondaten setzen und abfragen
Mit der Funktion$wsSession.set können individuelle Werte in der aktuellen Session eines Nutzers gespeichert werden. Diese Werte bleiben über alle Folgeseiten hinweg gültig, bis sie überschrieben oder gelöscht werden.
Dies kann für verschiedene Zwecke genutzt werden, z. B. um:
- Benutzervorlieben zu speichern (z. B. bevorzugte Sprache oder Kategorie).
- Dynamische Shop-Anzeigen basierend auf vorherigem Verhalten zu steuern.
- Kundenspezifische Anpassungen für ein personalisiertes Einkaufserlebnis vorzunehmen uvm.
Zugriff auf Session-Daten am Beispiel des Referers
Mit$wsSession können verschiedene in der Session gespeicherte Werte ausgelesen und genutzt werden. Ein Beispiel dafür ist der Referer, der angibt, von welcher externen Seite der Nutzer in den Shop gelangt ist.
Dies kann nützlich sein, um zu analysieren, ob Besucher beispielsweise über eine Suchmaschine, eine Werbeanzeige oder einen Partnerlink gekommen sind.
URL-Parameter auslesen und Session-Variable setzen
Angenommen, es gibt einen URL-ParameterpromoCode, der bestimmt, ob ein spezielles Werbebanner für eine Rabattaktion angezeigt werden soll. Wenn dieser Parameter vorhanden ist und einen bestimmten Wert hat, wird eine Session-Variable gesetzt, die dann auf anderen Seiten ausgelesen wird.
