$wsBasket

$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


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

Variable

Rückgabe-Typ

Beschreibung

totalQuantity

float

Gesamtmenge aller Produkte im Warenkorb.

totalTax

float

Mehrwertsteuer des Warenkorbs.

total

float

Gesamtbetrag des Warenkorbs.

totalNet

float

Nettobetrag des Warenkorbs.

totalGross

float

Bruttobetrag des Warenkorbs.

totalCommission

float

Gesamt-Provision.

totalWeight

float

Gesamtgewicht aller im Warenkorb vorhandenen Produkte.

lastBasketAction

string

Letzte Aktion am Warenkorb (z.B. “add”, “remove”, “update”).

lastUpdatedItem

map

Map mit Informationen zum zuletzt geänderten Artikel.

id

string

Produkt-ID des zuletzt geänderten Artikels.

price

float

Preis des zuletzt geänderten Artikels.

quantity

float

Menge des zuletzt geänderten Artikels.

productNumber

string

Artikelnummer des zuletzt geänderten Artikels.

taxId

string

Steuersatz-ID des zuletzt geänderten Artikels.

categories

array

Liste der Kategorie-IDs, in denen sich der zuletzt geänderte Artikel befindet.

parentCategories

array

Liste der übergeordneten Kategorie-IDs, in denen sich der zuletzt geänderte Artikel befindet.

freeFields

map

Freie Felder des zuletzt geänderten Artikels.

voucherIds

array

Liste der angewendeten Gutschein-IDs für den zuletzt geänderten Artikel.

items[$i]

array

Liste mit allen Warenkorb-Einträgen.

id

string

Warenkorb-ID des Warenkorb-Eintrags.

price

float

Preis des Warenkorb-Eintrags.

quantity

int

Menge des Warenkorb-Eintrags.

totalTax

float

Mehrwertsteuer des Warenkorb-Eintrags.

total

float

Gesamtbetrag des Warenkorb-Eintrags.

totalNet

float

Nettobetrag des Warenkorb-Eintrags.

totalGross

float

Bruttobetrag des Warenkorb-Eintrags.

freeFields

map

Map mit freien Feldern für Beschriftungen, Kommentare etc.

product

map

Map mit dem zugehörigen Produkt des Warenkorb-Eintrags

discountPrice

float

Rabattierter Preis des Warenkorb-Eintrags (falls Rabatt aktiv).

oneTimeFee

float

Einmalige Gebühr des Warenkorb-Eintrags (z.B. Einrichtungskosten).

orgPrice

float

Ursprünglicher Preis vor Rabatten des Warenkorb-Eintrags

voucherIds

array

Liste der angewendeten Gutschein IDs für diesen Warenkorb-Eintrag.

totalTaxDeduction

float

Betrag der abgezogenen Steuer. Ist nur größer als 0, wenn eine Steuerbefreiung aktiv ist.

totalPreDeduction

string

Gibt den Gesamtbetrag ohne den Abzug der Steuer aus.

isTaxExempt

bool

Gibt an, ob der aktuelle Warenkorb steuerbefreit ist.

billingCountry

string

Länderkennung der Rechnungsadresse (z.B. “DE”).

shippingCountry

string

Länderkennung der Lieferadresse (z.B. “DE”).

usedExemptionRules

string

Gibt die aktive Steuerprüfregel aus (“shippingOnly” oder “shippingAndBilling”).


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