$wsInventory - Lagerbestand & Verfügbarkeiten
In diesem Abschnitt finden Sie alle Möglichkeiten, um auf die Daten von Lagerbestand und Verfügbarkeiten im Shop zuzugreifen. Es werden die verfügbaren Variablen und Tags beschrieben, mit denen Sie die Daten dynamisch im Frontend anzeigen können.
Inhaltsübersicht
Templates
Typischerweise werden Informationen zum Lagerbestand und zur Verfügbarkeit gemeinsam mit den Produkten geladen – wie zum Beispiel auf der Startseite, in der Kategorieliste, den Suchergebnissen oder im Warenkorb.
Datenübersicht
Um die verfügbaren Daten der Lagerbestandverwaltung einzusehen, können Sie sich diese in einem JSON-ähnlichen Format ausgeben lassen. Dies ist hilfreich, um die Struktur und Inhalte der Lagerbestandsdaten zu verstehen oder auch Fehler zu debuggen.
Dies erfolgt folgendermaßen (auskommentiert, damit die Ausgabe nicht direkt im Frontend angezeigt wird):
<!--
{{= $inventoryInfo | json }}
-->Die Ausgabe in der Developer-Konsole des Browsers könnte dann wie folgt aussehen:
{
"active": true,
"amount": 50,
"deliveryText": "Nur noch wenige Stück auf Lager",
"messageLimit": 5,
"soldOut": false,
"splitDelivery": false,
"state": "yellow"
}Beispiele für die Anzeige vom Lagerbestand
Auf Lagerbestandsverwaltung prüfen
In diesem Beispiel wird geprüft, ob für dieses Produkt die Lagerbestandsverwaltung aktiv ist.
{{ var $inventoryInfo = $wsInventory.load($product.id) }}
{{ if $inventoryInfo.active }}
<p>Für dieses Produkt ist die Lagerverwaltung aktiv</p>
{{ /if }}
Lagerbestandsdaten
In diesem Beispiel werden die produktspezifischen Daten angezeigt.
<p>Lieferstatus-Text: {{= $inventoryInfo.deliveryText }}</p>
<p>Stückzahl: {{= $inventoryInfo.amount }}</p>
<p>Bestellbar: {{ if $inventoryInfo.soldOut }} Nein {{ else }} Ja {{ /if }}</p>
Ampelstatus Anzeigen
In diesem Beispiel wird die Verfügbarkeit des Produkts geprüft, sodass der Kunde direkt erkennen kann, ob es verfügbar, fast ausverkauft oder nicht lieferbar ist.
{{ var $inventoryInfo = $wsInventory.load($product.id) }}
{{ if $inventoryInfo.active }}
Ampel: {{= $inventoryInfo.state }}
{{ switch $inventoryInfo.state }}
{{ case "red"}}
<span style="background-color: red;">ROT</span>
{{ case "yellow"}}
<span style="background-color: yellow;">GELB</span>
{{ case "green"}}
<span style="background-color: green;">GRÜN</span>
{{ /switch }}
{{ /if }}
Anzeige für die Reservierungszeit
Nachdem einem Produkt in den Warenkorb gelegt wird, kann das Produkt für eine bestimmte Zeit reserviert sein. In diesem Beispiel wird im Warenkorb die Reservierungszeit angezeigt.
{{ if $reservation }}
{{ if $reservation.duration > 0 }}
{{ var $sec = $reservation.duration % 60 }}
{{ var $min= ( $reservation.duration - $sec ) / 60 }}
Das Produkt ist für Sie noch
{{ if $min > 0 }}
<strong>{{= $min }} Minuten</strong> und
{{ /if }}
<strong>{{= $sec }} Sekunden</strong> lang reserviert
{{ else }}
Leider ist Ihre Reservierung abgelaufen.
{{ /if}}
{{ /if }}
Reservierungszeit verlängern.
Damit der Kunde noch etwas mehr Zeit zum entscheiden hat, kann die Reservierungszeit im Warenkorb verlängert werden.
{{var $reservation = $wsInventory.loadReservation($basketItem.id)}}
{{ if $reservation }}
{{ var $inventoryReserveAction = $wsActions.create("InventoryReserve", tag=$basketItem.id) }}
{{ if $reservation.duration > 0 }}
Das Produkt ist für Sie reserviert
{{ else }}
Leider ist Ihre Reservierung abgelaufen.
<form method="post" action="{{ $wsViews.viewUrl('basket.htm') }}">
<input type="hidden" name="wscsrf" value="{{= $inventoryReserveAction.csrf }}">
<input type="hidden" name="wsact" value="{{= $inventoryReserveAction.id }}">
<input type="hidden" name="wstarget" value="{{= $wsViews.viewUrl('basket.htm') }}">
<input type="hidden" name="basketItemId" value="{{= $basketItem.id }}">
<button>Neu reservieren</button>
</form>
{{ /if}}
{{ if $inventoryReserveAction.success }}
<p>Menge wurde erfolgreich neu reserviert.</p>
{{ /if }}
{{ if $inventoryReserveAction.error }}
<p>Die Reservierung konnte nicht verlängert werden</p>
{{ /if }}
{{ /if }}
Praxisbeispiele
Praxisbeispiele zu Umsetzungen von Lagerbestandverwaltung-Funktionen finden Sie hier:
→ Praxisbeispiele Lagerbestand
Referenz
In der Modul-Referenz für $wsInventory finden Sie eine Übersicht aller verfügbaren Eigenschaften und Parameter.
Die Konfigurationsmöglichkeiten des Moduls sind bei den Konfigurationsparameter beschrieben und können je nach Bedarf angepasst werden.
© 2025 WEBSALE AG | Impressum | Datenschutz