Skip to main content

Documentation Index

Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt

Use this file to discover all available pages before exploring further.

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.

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
VariableRückgabe-TypBeschreibung
totalQuantityfloatGesamtmenge aller Produkte im Warenkorb.
totalTaxfloatMehrwertsteuer des Warenkorbs.
totalfloatGesamtbetrag des Warenkorbs.
totalNetfloatNettobetrag des Warenkorbs.
totalGrossfloatBruttobetrag des Warenkorbs.
totalCommissionfloatGesamt-Provision.
totalWeightfloatGesamtgewicht aller im Warenkorb vorhandenen Produkte.
lastBasketActionstringLetzte Aktion am Warenkorb (z.B. “add”, “remove”, “update”).
lastUpdatedItemmapMap mit Informationen zum zuletzt geänderten Artikel.
idstringProdukt-ID des zuletzt geänderten Artikels.
pricefloatPreis des zuletzt geänderten Artikels.
quantityfloatMenge des zuletzt geänderten Artikels.
productNumberstringArtikelnummer des zuletzt geänderten Artikels.
taxIdstringSteuersatz-ID des zuletzt geänderten Artikels.
categoriesarrayListe der Kategorie-IDs, in denen sich der zuletzt geänderte Artikel befindet.
parentCategoriesarrayListe der übergeordneten Kategorie-IDs, in denen sich der zuletzt geänderte Artikel befindet.
freeFieldsmapFreie Felder des zuletzt geänderten Artikels.
voucherIdsarrayListe der angewendeten Gutschein-IDs für den zuletzt geänderten Artikel.
items[$i]arrayListe mit allen Warenkorb-Einträgen.
idstringWarenkorb-ID des Warenkorb-Eintrags.
pricefloatPreis des Warenkorb-Eintrags.
quantityintMenge des Warenkorb-Eintrags.
totalTaxfloatMehrwertsteuer des Warenkorb-Eintrags.
totalfloatGesamtbetrag des Warenkorb-Eintrags.
totalNetfloatNettobetrag des Warenkorb-Eintrags.
totalGrossfloatBruttobetrag des Warenkorb-Eintrags.
freeFieldsmapMap mit freien Feldern für Beschriftungen, Kommentare etc.
productmapMap mit dem zugehörigen Produkt des Warenkorb-Eintrags
discountPricefloatRabattierter Preis des Warenkorb-Eintrags (falls Rabatt aktiv).
oneTimeFeefloatEinmalige Gebühr des Warenkorb-Eintrags (z.B. Einrichtungskosten).
orgPricefloatUrsprünglicher Preis vor Rabatten des Warenkorb-Eintrags
voucherIdsarrayListe der angewendeten Gutschein IDs für diesen Warenkorb-Eintrag.
totalTaxDeductionfloatBetrag der abgezogenen Steuer. Ist nur größer als 0, wenn eine Steuerbefreiung aktiv ist.
totalPreDeductionstringGibt den Gesamtbetrag ohne den Abzug der Steuer aus.
isTaxExemptboolGibt an, ob der aktuelle Warenkorb steuerbefreit ist.
billingCountrystringLänderkennung der Rechnungsadresse (z.B. “DE”).
shippingCountrystringLänderkennung der Lieferadresse (z.B. “DE”).
usedExemptionRulesstringGibt 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.
Die Warenkorb-Daten lassen sich flexibel abrufen und anpassen, 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 den Datenzugriff

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

{{ if $wsBasket.items }}
  <p>Sie haben {{= $wsBasket.items | len }} Produkte im Warenkorb</p>
 {{ /if }}
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