DasDocumentation Index
Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
Use this file to discover all available pages before exploring further.
$wsStore-Modul ist ein Key-Value-Store (Schlüssel-Wert-Speicher) für das Frontend. Darüber lassen sich beliebige Daten unter einem frei wählbaren Schlüssel ablegen, später wieder auslesen oder gezielt löschen.
Es ist das passende Werkzeug überall dort, wo Informationen benötigt werden, die das Shopsystem im Standard nicht vorhält.
Modulübersicht
Beispiel / Ausschnitt über$wsStore
"ƒ()" kennzeichnet eine Funktion.
Methoden in der Übersicht
| Name | Rückgabe-Typ | Beschreibung |
|---|---|---|
set() | - | Speichert einen Wert unter dem angegebenen Schlüssel. |
get() | any / null | Gibt den gespeicherten Wert für den angegebenen Schlüssel zurück. |
delete() | - | Löscht den Eintrag für den angegebenen Schlüssel. |
increment() | - | Erhöht einen Zählerwert unter dem angegebenen Schlüssel. |
Methoden
$wsStore.set()
Speichert einen beliebigen Wert unter einem Schlüssel. Der Wert kann später über get() wieder abgerufen werden. Optional kann eine Gültigkeitsdauer (ttl) in Sekunden angegeben werden, nach der der Eintrag automatisch entfernt wird. Ohne ttl gilt ein Standardwert von 365 Tagen.
Signatur$wsStore.set(key, value, ttl)
Rückgabe
Parameter| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
key | string | ja | Der Schlüssel, unter dem der Wert gespeichert wird. Frei wählbar. Empfehlung: sprechende, eindeutige Namen mit Präfix verwenden (z.B. 'productViews-' + $cProduct.id), um Kollisionenmit anderen Modulen auszuschließen. |
value | any | ja | Der zu speichernde Wert. (Integer, String, Boolean, Objekt, Array) |
ttl | int | nein | Gültigkeitsdauer in Sekunden. Nach Ablauf wird der Eintrag automatisch entfernt. Ohne Angabe gilt ein Standardwert von 365 Tagen. |
14400 Sekunden entsprechen 4 Stunden – so lange gilt der Marker.
Ab dem Setzen liefert
$wsStore.get('productViewSession-<ProduktID><SessionID>') für 4 Stunden den Wert true zurück. Der eigentliche Zähler, der dem Besucher die Anzeige “X mal in den letzten 24 Stunden angesehen” ausgibt, wird über increment() gepflegt. Erst nach Ablauf der 4 Stunden darf der Produktaufruf desselben Besuchers erneut in den Zähler einfließen.
$wsStore.get()
Gibt den Wert zurück, der zuvor mit set() unter dem angegebenen Schlüssel gespeichert wurde. Ist kein Eintrag vorhanden oder ist der Eintrag abgelaufen, wirdnull zurückgegeben.
Signatur$wsStore.get(key)
Rückgabeany - Der gespeicherte Wert, oder null , wenn kein Eintrag vorhanden ist oder der Eintrag abgelaufen ist.
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
key | string | ja | Der Schlüssel, dessen Wert abgerufen werden soll. |
$wsStore.delete()
Löscht den Eintrag für den angegebenen Schlüssel aus dem Store. Nach dem Löschen gibt get() für diesen Schlüsselnull zurück.
Signatur$wsStore.delete(key)
Rückgabe\
Parameter| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
key | string | ja | Der Schlüssel, dessen Eintrag gelöscht werden soll. |
$wsStore.increment()
Erhöht einen Zählerwert unter dem angegebenen Schlüssel um den angegebenen Wert. Existiert der Schlüssel noch nicht, wird er mit dem Wert vonamount angelegt.
Diese Methode sollte bevorzugt gegenüber einer Kombination aus get() und set() verwendet werden, wenn ein Zähler erhöht werden soll.Das liegt daran, dass get() und set() das Hochzählen in zwei Schritten durchführen - erst den aktuellen Wert lesen, dann den erhöhten Wert speichern. Rufen zwei Besucher die Seite gleichzeitig auf, lesen beide in Schritt 1 denselben Wert, beispielsweise 5. Beide speichern anschließend 6. Der Zähler steht am Ende auf 6, obwohl er auf 7 stehen müsste. Mit
increment() passiert das Lesen und erhöhen in einem einzigen Schritt, sodass beide Aufrufe korrekt gezählt werden.
Signatur$wsStore.increment(key, amount, ttl)
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
key | string | ja | Der Schlüssel, dessen Zählerwert erhöht werden soll. |
amount | int | nein | Der Wert, um den der Zähler erhöht wird. Standardmäßig 1. |
ttl | int | nein | Gültigkeitsdauer in Sekunden. Nach Ablauf wird der Eintrag automatisch entfernt. Wird ttl weggelassen, gilt ein Standardwert von 365 Tagen. |
Der Zähler
productViews-<ProduktID> wird pro Besucher höchstens einmal alle 4 Stunden erhöht. Die anschließende Anzeige mit get() zeigt dem Besucher z.B.: “7 mal in den letzten 24 Stunden angesehen”. Nach Ablauf von 24 Stunden startet der Zähler automatisch wieder bei null.