$wsBasket
In diesem Abschnitt werden die verfügbaren Variablen und Methoden des $wsBasket Moduls beschrieben, mit denen Sie Warenkorb-Daten dynamisch im Frontend verwenden können.
Der Warenkorb ist ein zentrales Element jedes Online-Shops. Er speichert die vom Kunden ausgewählten Produkte und berechnet automatisch Preise, Mengen und Steuern.
Inhaltsverzeichnis
- 1 Modulübersicht
- 2 Templates
- 3 Variablen
- 3.1 $wsBasket.totalQuantity
- 3.2 $wsBasket.totalTax
- 3.3 $wsBasket.total
- 3.4 $wsBasket.totalNet
- 3.5 $wsBasket.totalGross
- 3.6 $wsBasket.totalCommission
- 3.7 $wsBasket.totalWeight
- 3.8 $wsBasket.lastBasketAction
- 3.9 $wsBasket.lastUpdatedItem
- 3.10 $wsBasket.items
- 3.11 $wsBasket.totalTaxDeduction
- 3.12 $wsBasket.totalPreDeduction
- 3.13 $wsBasket.isTaxExempt
- 3.14 $wsBasket.billingCountry
- 3.15 $wsBasket.shippingCountry
- 3.16 $wsBasket.usedExemptionRule
- 4 Methoden
- 5 Aktionen
- 6 Beispiele für die Anzeige von Warenkorbdaten
- 7 Weiterführende Links
Modulübersicht
Beispiel / Ausschnitt über $wsBasket
{{= $wsBasket | json }}
JSON-Ausgabe
{
"billingCountry": "...",
"isTaxExempt": true/false,
"items": [
{
"discountPrice": 0.0,
"freeFields": { },
"id": "...",
"oneTimeFee": 0.0,
"orgPrice": 0.0,
"price": 0.0,
"product": { ... },
"quantity": 0.0,
"total": 0.0,
"totalGross": 0.0,
"totalNet": 0.0,
"totalTax": 0.0,
"voucherIds": [...]
}
],
"lastBasketAction": "...",
"lastUpdatedItem": {
"categories": [...],
"freeFields": { },
"id": "...",
"parentCategories": [...],
"price": 0.0,
"productNumber": "...",
"quantity": 0.0,
"taxId": "...",
"voucherIds": [...]
},
"shippingCountry": "...",
"total": 0.0,
"totalCommission": 0.0,
"totalGross": 0.0,
"totalNet": 0.0,
"totalQuantity": 0.0,
"totalTax": 0.0,
"totalTaxDeduction": 0.0,
"totalPreDeduction": 0.0,
"totalWeight": 0.0,
"usedExemptionRule": "..."
}
Variablen in der Übersicht
Variable | Rückgabe-Typ | Beschreibung |
|---|---|---|
| float | Gesamtmenge aller Produkte im Warenkorb. |
| float | Mehrwertsteuer des Warenkorbs. |
| float | Gesamtbetrag des Warenkorbs. |
| float | Nettobetrag des Warenkorbs. |
| float | Bruttobetrag des Warenkorbs. |
| float | Gesamt-Provision. |
| float | Gesamtgewicht aller im Warenkorb vorhandenen Produkte. |
| string | Letzte Aktion am Warenkorb (z.B. |
| map | Map mit Informationen zum zuletzt geänderten Artikel. |
| string | Produkt-ID des zuletzt geänderten Artikels. |
| float | Preis des zuletzt geänderten Artikels. |
| float | Menge des zuletzt geänderten Artikels. |
| string | Artikelnummer des zuletzt geänderten Artikels. |
| string | Steuersatz-ID des zuletzt geänderten Artikels. |
| array | Liste der Kategorie-IDs, in denen sich der zuletzt geänderte Artikel befindet. |
| array | Liste der übergeordneten Kategorie-IDs, in denen sich der zuletzt geänderte Artikel befindet. |
| map | Freie Felder des zuletzt geänderten Artikels. |
| array | Liste der angewendeten Gutschein-IDs für den zuletzt geänderten Artikel. |
| array | Liste mit allen Warenkorb-Einträgen. |
| string | Warenkorb-ID des Warenkorb-Eintrags. |
| float | Preis des Warenkorb-Eintrags. |
| int | Menge des Warenkorb-Eintrags. |
| float | Mehrwertsteuer des Warenkorb-Eintrags. |
| float | Gesamtbetrag des Warenkorb-Eintrags. |
| float | Nettobetrag des Warenkorb-Eintrags. |
| float | Bruttobetrag des Warenkorb-Eintrags. |
| map | Map mit freien Feldern für Beschriftungen, Kommentare etc. |
| map | Map mit dem zugehörigen Produkt des Warenkorb-Eintrags |
| float | Rabattierter Preis des Warenkorb-Eintrags (falls Rabatt aktiv). |
| float | Einmalige Gebühr des Warenkorb-Eintrags (z.B. Einrichtungskosten). |
| float | Ursprünglicher Preis vor Rabatten des Warenkorb-Eintrags |
| array | Liste der angewendeten Gutschein IDs für diesen Warenkorb-Eintrag. |
| float | Betrag der abgezogenen Steuer. Ist nur größer als 0, wenn eine Steuerbefreiung aktiv ist. |
| string | Gibt den Gesamtbetrag ohne den Abzug der Steuer aus. |
| bool | Gibt an, ob der aktuelle Warenkorb steuerbefreit ist. |
| string | Länderkennung der Rechnungsadresse (z.B. “DE”). |
| string | Länderkennung der Lieferadresse (z.B. “DE”). |
| string | Gibt die aktive Steuerprüfregel aus ( |
Templates
Die Informationen darüber, welche Produkte sich aktuell im Warenkorb befinden, können auf jeder Seite des Shops angezeigt werden. Dabei gibt es unterschiedliche Möglichkeiten zur Darstellung:
Kurz-Warenkorb: In einer Sidebar, als Flyout oder OffCanvas-Element, um dem Nutzer jederzeit einen schnellen Überblick zu bieten.
Warenkorb-Seite: Eine detaillierte Übersicht über die enthaltenen Produkte mit Anpassungsmöglichkeiten.
Checkout-Seite & Bestellbestätigung: Darstellung des Warenkorbs während des Kaufprozesses und in E-Mails zur Bestätigung einer Bestellung.
Dadurch können Warenkorb-Informationen an den verschiedensten Stellen im Shop dynamisch dargestellt, abgerufen und angepasst werden, um eine für den jeweiligen Shop passende Darstellung zu ermöglichen.
Variablen
$wsBasket.totalQuantity
Gibt die Gesamtmenge aller Produkte im Warenkorb aus.
Artikel im Warenkorb: {{= $wsBasket.totalQuantity }}$wsBasket.totalTax
Gibt die Mehrwertsteuer des Warenkorbs aus.
Mehrwertsteuer: {{= $wsBasket.totalTax | currency }}$wsBasket.total
Gibt den Gesamtbetrag des Warenkorbs aus.
Gesamtbetrag: {{= $wsBasket.total | currency }}$wsBasket.totalNet
Gibt den Nettobetrag des Warenkorbs aus.
Nettobetrag: {{= $wsBasket.totalNet | currency }}$wsBasket.totalGross
Gibt den Bruttobetrag des Warenkorbs aus.
Bruttobetrag: {{= $wsBasket.totalGross | currency }}$wsBasket.totalCommission
Gibt die Gesamt-Provision des Warenkorbs aus.
Provision: {{= $wsBasket.totalCommission | currency }}$wsBasket.totalWeight
Gibt das Gesamtgewicht aller im Warenkorb enthaltenen Produkte aus.
Gesamtgewicht: {{= $wsBasket.totalWeight }}$wsBasket.lastBasketAction
Gibt die zuletzt durchgeführte Aktion am Warenkorb aus. Mögliche Werte sind z.B: “add”, “remove” oder “update”.
Letzte Aktion: {{= $wsBasket.lastBasketAction }}$wsBasket.lastUpdatedItem
Gibt Informationen zum zuletzt hinzugefügten oder geänderten Artikel aus.
Zuletzt hinzugefügt: {{= $wsBasket.lastUpdatedItem.id }}
Menge: {{= $wsBasket.lastUpdatedItem.quantity }}
$wsBasket.items
Gibt eine Liste aller Warenkorb-Einträge aus.
{{ foreach $myItemVariable in $wsBasket.items }}
Artikel: {{= $myItemVariable.product.name }} – Menge: {{= $myItemVariable.quantity }}
{{ /foreach }}$wsBasket.totalTaxDeduction
Gibt den Betrag der abgezogenen Steuer aus. Der Wert ist nur größer als 0, wenn eine Steuerbefreiung für den aktuellen Warenkorb aktiv ist. In Brutto-Shops kann damit z.B. eine Zeile “abzgl. MwSt.” im Warenkorb oder Checkout dargestellt werden.
{{ if $wsBasket.totalTaxDeduction > 0 }}
Steuerabzug: {{= $wsBasket.totalTaxDeduction | currency }}
{{ /if }}
$wsBasket.totalPreDeduction
Gibt den Gesamtbetrag vor dem Steuerabzug aus.
Aktueller Betrag ohne Steuerabzug: {{= $wsBasket.totalPreDeduction }}$wsBasket.isTaxExempt
Gibt aus, ob der aktuelle Warenkorb steuerbefreit ist. Dies ist der primäre Indikator für eine Steuerbefreiung, damit lässt sich z.B. ein Hinweis “Steuerbefreite Lieferung” im Warenkorb der Checkout einblenden.
{{ if $wsBasket.isTaxExempt }}
Dieser Warenkorb ist steuerbefreit.
{{ /if }}$wsBasket.billingCountry
Gibt die Länderkennung der hinterlegten Rechnungsadresse aus (z.B. “DE” für Deutschland).
Rechnungsland: {{= $wsBasket.billingCountry }}$wsBasket.shippingCountry
Gibt die Länderkennung der hinterlegten Lieferadresse aus (z.B. “DE” für Deutschland).
Lieferland: {{= $wsBasket.shippingCountry }}$wsBasket.usedExemptionRule
Gibt die aktive Steuerprüfregel aus. Mögliche Werte sind “shippingOnly”(nur Lieferadresse wird geprüft) oder “shippingAndBilling” (Liefer- und Rechnungsadresse werden geprüft).
{{ if $wsBasket.usedExemptionRule }}
Aktive Prüfregel: {{= $wsBasket.usedExemptionRule }}
{{ /if }}
Methoden
Für $wsBasket stehen keine Methoden zur Verfügung.
Aktionen
Aktionen zu diesem Modul, die Änderungen auslösen (z.B. erstellen, bearbeiten, löschen), sind separat im Kapitel “Aktionen” dokumentiert: Basket
Beispiele für die Anzeige von Warenkorbdaten
Prüfen, ob Produkte im Warenkorb liegen
In diesem Beispiel wird geprüft, ob sich Produkte im Warenkorb befinden. Im positiven Fall wird die Anzahl der Produkte angezeigt.
{{if $wsBasket.items}}
<p>Im Warenkorb befinden sich insgesamt {{= $wsBasket.items | len }} Produkte.</p>
{{ else }}
<p>Sie haben noch keine Produkte im Warenkorb.</p>
{{/if}}
Produkte im Warenkorb anzeigen
Sind Produkte im Warenkorb vorhanden, dann können die einzelnen Produkte mithilfe der foreach Schleife geladen und angezeigt werden.
{{ if $wsBasket.items }}
{{ foreach $cProduct in $wsBasket.items }}
<a href="{{= $wsViews.url('Product', {productId: $cProduct.product.id}) }}">
<img src="{{= $cProduct.product.custom.image.normal }}" alt="...">
</a>
<p>Produktname: {{= $cProduct.product.name }}</p>
<p>Menge: {{= int($cProduct.quantity) }}</p>
<p>Einzelpreis: {{= $cProduct.price | currency }}</p>
<p>Positionsumme: {{= $cProduct.total | currency }}</p>
<p>Versandkosten: {{= $wsCheckout.sum.shippingCost | currency }}</p>
<p>Gesamtsumme: {{= $wsBasket.total | currency }}</p>
{{ /foreach }}
{{ else }}
<p>Sie haben keine Produkte im Warenkorb!</p>
{{ /if }}
Anzahl der Produkte im Warenkorb
Anzahl der Produkte im Warenkorb
{{ if $wsBasket.items }}
<p>Sie haben {{= $wsBasket.items | len }} Produkte im Warenkorb</p>
{{ /if }}
Link zur Warenkorbseite
Zugriff auf die Warenkorbseite, die mittels des View-Templates basket.htm umgesetzt wurde.
<a href="{{= $wsViews.viewUrl('basket.htm')}}">Warenkorb ansehen</a>
Weitere Beispiele zu Umsetzungen von Warenkörben und Warenkorbfunktionen finden Sie hier:
→ Praxisbeispiele Warenkorb
Weiterführende Links