$wsBasket-Modul lesen Sie die Daten des aktuellen Warenkorbs im Frontend. Die enthaltenen Produkte (Positionen), deren Mengen und Preise sowie die berechneten Gesamtwerte und Steuerinformationen.
Auf dieser Seite geht es um das Lesen der Warenkorb-Daten. Alles, was den Warenkorb verändert (Produkt hinzufügen, Menge ändern, entfernen), ist unter Aktionen → Basket beschrieben, weil dort die auslösenden Aktionen und ihre Parameter dokumentiert sind.
Grundkonzept
Der Warenkorb speichert die vom Kunden ausgewählten Produkte und berechnet automatisch die Mengen, Preise und Steuern. Über dieses Modul können Sie diese Werte auslesen und anzeigen.Aufbau
Die Warenkorb-Daten sind in drei Ebenen verschachtelt:- Warenkorb (
$wsBasket) - die Gesamtwerte über alle Positionen hinweg, z. B.totalodertotalQuantity. - Positionen (
$wsBasket.items) - eine Liste der Warenkorb-Einträge. Jeder Eintrag steht für ein Produkt im Warenkorb und hat eigene Werte wie Menge und Positionssumme. - Produkt (
item.product) - innerhalb jeder Position befindet sich auch das zugehörige Produkt mit seinen Stammdaten (Name, Bild, ID).
Steuerbefreiung
Mehrere Variablen bilden zusammen die Steuerbefreiung ab und gehören inhaltlich zusammen:isTaxExempt ist der primäre Schalter, totalTaxDeduction und totalPreDeduction liefern die Beträge für eine „abzgl. MwSt.”-Zeile, und usedExemptionRule zusammen mit billingCountry/shippingCountry zeigt, welche Adressen für die Prüfung herangezogen werden. Prüfen Sie für Steuerhinweise immer zuerst isTaxExempt.
Werbemittelkennzeichen
Ist die Werbemittelkennzeichnung im Shop aktiviert, trägt jede Position zusätzlich das erfasste Werbemittelkennzeichen. Dafür gibt es zwei Felder:insert liefert den reinen Code, itemNumberWithInsert die fertig zusammengesetzte Anzeige aus Produktnummer und Code in der konfigurierten Reihenfolge und mit dem konfigurierten Trennzeichen. Ist kein Code gesetzt, enthält itemNumberWithInsert einfach die reine Produktnummer.
In der Regel reicht es, itemNumberWithInsert als Artikelnummer auszugeben - Position und Trennzeichen sind darin bereits berücksichtigt. Zusätzliche Ausgaben rund um das Werbemittelkennzeichen (beispielsweise ein separates Code-Label) gehören in {{ if $wsConfig.inserts.enabled }} … {{ /if }}, damit bei ausgeschalteter Funktion nichts erscheint. Die Einstellungen liefert $wsConfig.inserts.
Zeitpunkt und zuletzt geänderter Artikel
Der Template-Code läuft beim Seitenaufbau.$wsBasket enthält daher den Warenkorb-Zustand nach der zuletzt ausgeführten Aktion. lastBasketAction und lastUpdatedItem beschreiben diese letzte Änderung. Nützlich, um beispielsweise direkt nach dem Hinzufügen eine Rückmeldung wie „Produkt X wurde hinzugefügt” anzuzeigen.
Modulübersicht
Beispiel / Ausschnitt über$wsBasket
Templates
Die Warenkorb-Daten lassen sich auf jeder Seite des Shops anzeigen. Übliche Darstellungen sind:- Offcanvas-Warenkorb: in einer Sidebar, als Flyout oder als OffCanvas-Element, für einen schnellen Überblick.
- Warenkorb-Seite: eine detaillierte Übersicht mit Anpassungsmöglichkeiten.
- Checkout und Bestellbestätigung: Darstellung während des Kaufprozesses und in Bestätigungs-E-Mails.
Variablen
$wsBasket.totalQuantity
Gibt die Gesamtmenge aller Produkte im Warenkorb aus.$wsBasket.total
Gibt den Gesamtbetrag des Warenkorbs aus. Verwenden Sie ihn für die Endsumme in Warenkorb und Checkout.$wsBasket.totalNet
Gibt den Nettobetrag des Warenkorbs aus.$wsBasket.totalGross
Gibt den Bruttobetrag des Warenkorbs aus.$wsBasket.totalTax
Gibt die Mehrwertsteuer des Warenkorbs aus. Nutzen Sie sie für eine separate Steuerzeile in der Summenübersicht.$wsBasket.totalCommission
Gibt die Gesamt-Provision des Warenkorbs aus.$wsBasket.totalWeight
Gibt das Gesamtgewicht aller Produkte im Warenkorb aus. Nützlich, um z. B. einen Versandkosten- oder Gewichtshinweis anzuzeigen.$wsBasket.lastBasketAction
Gibt die zuletzt am Warenkorb durchgeführte Aktion aus (z. B."add", "remove", "update"). Werten Sie sie aus, um nach einer Änderung eine passende Rückmeldung anzuzeigen.
$wsBasket.lastUpdatedItem
Gibt den zuletzt hinzugefügten oder geänderten Artikel aus. Verwenden Sie ihn zusammen mitlastBasketAction, um z. B. direkt nach dem Hinzufügen „Produkt X wurde hinzugefügt” anzuzeigen, ohne den ganzen Warenkorb durchsuchen zu müssen.
Eigenschaften von $wsBasket.lastUpdatedItem
$wsBasket.items
Gibt die Liste aller Warenkorb-Einträge (Positionen) aus. Über diese Liste iterieren Sie, um jede Position einzeln anzuzeigen.Eigenschaften eines Eintrags in $wsBasket.items
$wsBasket.isTaxExempt
Gibt aus, ob der aktuelle Warenkorb steuerbefreit ist. Dies ist der primäre Indikator für eine Steuerbefreiung – nutzen Sie ihn, um z. B. einen Hinweis „Steuerbefreite Lieferung” einzublenden.$wsBasket.totalTaxDeduction
Gibt den Betrag der abgezogenen Steuer aus. Der Wert ist nur größer als 0, wenn eine Steuerbefreiung aktiv ist. In Brutto-Shops stellen Sie damit z. B. eine Zeile „abzgl. MwSt.” dar.$wsBasket.totalPreDeduction
Gibt den Gesamtbetrag vor dem Steuerabzug aus. Zusammen mittotalTaxDeduction zeigen Sie so den Betrag vor und nach dem Abzug.
$wsBasket.billingCountry
Gibt die Länderkennung der Rechnungsadresse aus (z. B."DE" für Deutschland).
$wsBasket.shippingCountry
Gibt die Länderkennung der Lieferadresse aus (z. B."DE" für Deutschland).
$wsBasket.usedExemptionRule
Gibt die aktive Steuerprüfregel aus. Mögliche Werte:"shippingOnly" (nur die Lieferadresse wird geprüft) oder "shippingAndBilling" (Liefer- und Rechnungsadresse werden geprüft). So erkennen Sie, welche Adressen über die Steuerbefreiung entscheiden.
Methoden
Für$wsBasket stehen keine Methoden zur Verfügung.
Aktionen
Aktionen, die den Warenkorb verändern (Produkt hinzufügen, Menge ändern, entfernen), sind separat dokumentiert: Aktionen → Basket.Beispiele für den Datenzugriff
Prüfen, ob Produkte im Warenkorb liegen
Prüfen Sie zuerst, ob überhaupt Positionen vorhanden sind, bevor Sie den Warenkorb anzeigen, sonst zeigen Sie eine leere Liste.Bei gefülltem Warenkorb erscheint die Anzahl der Positionen, sonst ein Hinweis auf den leeren Warenkorb.
Produkte im Warenkorb anzeigen
Sind Positionen vorhanden, iterieren Sie überitems und zeigen je Position Produktname, Menge und Preise. Die Gesamtsummen stehen außerhalb der Schleife weil sie sonst für jede Position erneut ausgegeben werden würden.
Jede Position wird mit Bild, Name, Artikelnummer (inklusive Werbemittelkennzeichen, sofern erfasst), Menge und Preisen aufgelistet. Darunter erscheinen Versandkosten und Gesamtsumme einmalig.
Werbemittelkennzeichen separat ausgeben
Soll der reine Code zusätzlich zur Artikelnummer als eigenes Feld erscheinen, prüfen Sie zuerst über$wsConfig.inserts.enabled, ob die Funktion aktiv ist, damit bei ausgeschalteter Funktion nichts erscheint.
Der Werbemittelcode erscheint nur bei aktiver Funktion und nur für Positionen, die einen Code tragen.
Link zur Warenkorbseite
Erzeugt einen Link auf die Warenkorbseite, die über das View-Templatebasket.htm umgesetzt ist.
Der Link führt zur Warenkorbseite des Shops.
Weiterführende Links
- Werbemittelkennzeichen – fachliche Übersicht der Werbemittelkennzeichnung: Erfassungswege, Auflösungslogik und Einrichtung.
- Aktionen → Basket – den Warenkorb verändern (hinzufügen, ändern, entfernen), weil
$wsBasketselbst nur liest. - $wsCheckout – liefert ergänzende Werte wie die Versandkosten (
sum.shippingCost) für die Summenanzeige. - $wsViews – erzeugt die in den Beispielen genutzten Produkt- und View-URLs.
- Praxisbeispiele Warenkorb – durchgängige Praxisbeispiele für Warenkorb-Funktionen.
