$wsInventory-Modul lesen Sie Lagerbestände und Verfügbarkeiten von Produkten sowie die Reservierungszeit eines Warenkorb-Eintrags. Typische Anwendungsfälle sind Ampel-Anzeigen (grün/gelb/rot), Verfügbarkeitshinweise auf Produktseiten und der ablaufende Reservierungs-Timer im Warenkorb.
Auf dieser Seite geht es um das Lesen und Anzeigen von Bestandsdaten. Eine Reservierung kann über die Aktion InventoryReserve ($wsActions) verlängert werden. Die Storefront-API Lagerbestand behandelt serverseitige Bestandsdaten.
Grundkonzept
$wsInventory liefert zwei verschiedene Datenpunkte:
load(productId)– die Bestandsdaten eines Produkts (Verfügbarkeit, Stückzahl, Ampelstatus).loadReservation(basketItemId)– die verbleibende Reservierungszeit eines Warenkorb-Eintrags.
Zuerst auf aktive Lagerverwaltung prüfen
Die Bestandsdaten sind nur aussagekräftig, wenn für das Produkt die Lagerverwaltung aktiv ist. Prüfen Sie deshalb immer zuerstactive, bevor Sie Stückzahl, Ampel oder Lieferstatus anzeigen, ansonsten zeigen Sie Werte an, die für dieses Produkt gar nicht gepflegt werden.
Ampel-Logik
state fasst die Verfügbarkeit als Ampel zusammen: green (ausreichend vorrätig), yellow (wenige Stück) und red (ausverkauft oder sehr knapp). Damit zeigen Sie dem Kunden auf einen Blick, wie es um die Lieferbarkeit steht, ohne selbst Schwellen zu berechnen.
Reservierungs-Lebenszyklus
Wird ein Produkt in den Warenkorb gelegt, ist es für eine bestimmte Zeit reserviert.loadReservation() liefert die verbleibende Zeit in Sekunden (duration). Läuft sie ab (duration <= 0), kann der Kunde über die Aktion InventoryReserve erneut reservieren.
Modulübersicht
Beispiel / Ausschnitt über$wsInventory
"ƒ()" kennzeichnet eine Funktion.
Methoden in der Übersicht
Templates
Bestands- und Verfügbarkeitsinformationen werden typischerweise dort geladen, wo Produkte erscheinen: Startseite, Kategorieliste, Suchergebnisse, Produktdetailseite und Warenkorb.Variablen
Für$wsInventory stehen keine eigenen Variablen zur Verfügung. Die Daten werden über die Methoden geladen.
Methoden
$wsInventory.load()
Lädt die Lagerbestandsdaten eines Produkts. Signatur$wsInventory.load(productId)
Rückgabemap – Lagerbestandsdaten (siehe Tabelle).
Parameter
Rückgabewerte
$wsInventory.loadReservation()
Lädt die Reservierungsdaten eines Warenkorb-Eintrags. Signatur$wsInventory.loadReservation(basketItemId)
Rückgabemap – Reservierungsdaten.
Parameter
Rückgabewerte
Aktionen
$wsInventory selbst stellt keine Aktionen bereit. Eine abgelaufene Reservierung wird über die $wsActions-Aktion InventoryReserve erneuert (siehe Beispiel).
Beispiele
Verfügbarkeit als Ampel anzeigen
Prüft zuerstactive und zeigt dann den Ampelstatus farbig an.
Bei aktiver Lagerverwaltung erscheint je nach
state ein grüner, gelber oder roter Hinweis.
Reservierungszeit als Countdown anzeigen
Rechnet die Sekunden ausduration in Minuten und Sekunden um.
Solange die Reservierung läuft, sieht der Kunde die verbleibende Zeit. Danach den Ablauf-Hinweis.
Reservierung verlängern
Ist die Reservierung abgelaufen, bietet dieses Beispiel über die AktionInventoryReserve eine Neureservierung an.
Bei abgelaufener Reservierung erscheint ein „Neu reservieren”-Button. Nach erfolgreicher Aktion die Bestätigung.
Weiterführende Links
- $wsActions – stellt die Aktion
InventoryReservezum Verlängern einer Reservierung bereit. - $wsBasket – liefert die Warenkorb-Einträge, deren ID
loadReservation()erwartet. - $wsStores – Filialfinder, relevant für die StorageID bei Click & Collect.
- Storefront-API Lagerbestand – serverseitiger Zugriff auf Bestandsdaten.
