> ## 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.

# Warenkorb anzeigen und löschen

> Wie Sie den Warenkorb in WEBSALE V8s frei im Template aufbauen, welche Tags je Position zur Verfügung stehen und wie sich die Gesamtsumme zusammensetzt.

Der Warenkorb ist in WEBSALE V8s keine fertige Tabelle, die Sie an einer Stelle einbinden, sondern eine Sammlung von Tags, die Sie frei anordnen. Welche Spalten er hat und in welcher Reihenfolge sie stehen, entscheiden Sie.

Dieselben Tags funktionieren auf jeder Shopseite, nicht nur auf der Warenkorbseite. Das ist mehr als Bequemlichkeit: Vor dem Kaufabschluss will der Käufer noch einmal prüfen, was er ausgewählt hat, und dafür müssen die entscheidenden Angaben dort stehen, wo er gerade ist.

Besonders lohnt sich das an drei Stellen:

* auf der Warenkorbseite `ws_basket.htm`
* auf der Bestellübersichtsseite `ws_place_order.htm`
* auf der Bestelleingangsbestätigungsseite `ws_confirm.htm`

Wegweiser: [Freie Produktfelder im Warenkorb anzeigen](https://dokumentation.websale.de/v8s/warenkorb/freie-produktfelder-im-warenkorb-anzeigen.md)

## Link zum Warenkorb

Den Link zum Warenkorb platzieren Sie an beliebiger Stelle im Shop. Die Klammerung `ST-Basket_OK` sorgt dafür, dass er nur erscheint, wenn der Warenkorb tatsächlich nutzbar ist.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ST-Basket_OK}
   <a href="~WS-BasketLink~">Zum Warenkorb</a>
{/ST-Basket_OK}
```

Sinnvoll ist daneben eine Angabe, wie viel drin liegt. Dafür gibt es zwei Zählweisen:

| Tag | Zählt |
| - | - |
| `~BASKET-TotalPositions~` | Anzahl der Positionen |
| `~BASKET-TotalQuantities~` | Summe aller Stückzahlen |

Drei verschiedene Produkte mit je zwei Stück ergeben also drei Positionen und sechs Stück. Welche Zahl die passende ist, hängt von Ihrem Sortiment ab.

## Die Positionen ausgeben

Die Schleife über die Warenkorbpositionen ist `BASKET-PR-Data`. Alles, was je Position erscheinen soll, gehört hinein.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{@BASKET-PR-Data}
   ...
{/@BASKET-PR-Data}
```

### Ändern und Löschen

Diese Spalte gehört in eine Klammerung mit `ST-BasketPage`, damit sie nur auf der Warenkorbseite erscheint und nicht auf der Bestellübersicht, wo nichts mehr geändert werden soll.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ST-BasketPage}
   {BASKET-PR-ChangeLink}
      <a href="~BASKET-PR-ChangeLink~">ändern</a>
   {/BASKET-PR-ChangeLink}

   {BASKET-PR-DeleteLink}
      <a href="~BASKET-PR-DeleteLink~">löschen</a>
   {/BASKET-PR-DeleteLink}
{/ST-BasketPage}
```

> [!WARNING]
>
> Die Klammerung um die beiden Links ist nicht optional. Beide Tags liefern bei bestimmten Positionsarten bewusst nichts, und ohne Klammerung stünde dort ein Link ins Leere.

Die beiden Listen unterscheiden sich:

| Positionsart | ändern | löschen |
| - | - | - |
| Set-Unterprodukt | nein | nein |
| Angebotsposition | nein | nein |
| automatisch zugesteuerte Position | nein | ja |
| Gutscheinprodukt | ja | nein |
| Position mit unterdrückter Ändern-Schaltfläche | nein | ja |

Dahinter steckt jeweils eine Logik. Ein Set-Unterprodukt gehört zu seinem Oberprodukt und wird über dieses geändert. Eine automatisch zugesteuerte Position hat der Käufer nicht selbst gewählt, also gibt es nichts zu ändern, wohl aber etwas abzulehnen. Bei einem Gutscheinprodukt ist es umgekehrt: Es hängt am Gutschein und verschwindet mit ihm.

### Bild

Zwei Bildgrößen stehen zur Verfügung.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{BASKET-PR-MiniThumbNail}
   <img src="~BASKET-PR-MiniThumbNail~" alt="~BASKET-PR-Name~">
{/BASKET-PR-MiniThumbNail}
```

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{BASKET-PR-ThumbNail}
   <img src="~BASKET-PR-ThumbNail~" alt="~BASKET-PR-Name~">
{/BASKET-PR-ThumbNail}
```

Die Klammerung fängt Produkte ohne hinterlegtes Bild ab, sonst entsteht ein kaputtes Bildsymbol.

### Produktangaben

| Tag | Inhalt |
| - | - |
| `~BASKET-PR-Position~` | Positionsnummer |
| `~BASKET-PR-Name~` | Produktname |
| `~BASKET-PR-Name2~` | Zusatzbezeichnung |
| `~BASKET-PR-Number~` | Produktnummer |
| `~BASKET-PR-DeliveryText~` | Liefertext |
| `{BASKET-PR-Inventory}` | Klammerung für die Lieferbarkeitsanzeige |
| `~BASKET-PR-Discount~` | Rabatt |
| `~BASKET-PR-MerchantName~` | Händler- oder Herstellername |
| `~BASKET-PR-MerchantID~` | technische ID dazu |
| `{BASKET-PR-Offer}` | Klammerung, trifft bei Angebotspositionen zu |

Den Produktnamen können Sie zurück auf das Produkt verlinken. Dafür gibt es `~BASKET-PR-Link~`, für abhängige Varianten `~BASKET-PR-DepVarLink~` und für Sets `~BASKET-PR-SetLink~`.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<a href="~BASKET-PR-Link~">~BASKET-PR-Name~</a>
```

Wegweiser: [Lagerbestand anzeigen](https://dokumentation.websale.de/v8s/lagerbestand/lagerbestand-anzeigen.md)

### Varianten

Normale und abhängige Varianten laufen über dieselbe Schleife.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{BASKET-PR-Variations}
   {@BASKET-PR-Variations}
      ~BASKET-PR-VariationName~: ~BASKET-PR-VariationValue~
      {BASKET-PR-VariationNumber}~BASKET-PR-VariationNumber~{/BASKET-PR-VariationNumber}
      {BASKET-PR-VariationPrice}~BASKET-PR-VariationPrice~{/BASKET-PR-VariationPrice}
   {/@BASKET-PR-Variations}
{/BASKET-PR-Variations}
```

`~BASKET-PR-VariationPrice~` gibt den Auf- oder Abschlag der Variante aus, nicht den Gesamtpreis.

### Set-Produkte

Set-Unterprodukte laufen über `BASKET-PR-SetChildData`, wieder als äußere Klammerung mit innerer Schleife. Die Produktangaben von oben müssen Sie darin noch einmal aufführen, denn sie beziehen sich dann auf das jeweilige Unterprodukt.

| Tag | Inhalt |
| - | - |
| `~BASKET-PR-SetPrice~` | Einzelpreis des Sets |
| `~BASKET-PR-SetSum~` | Gesamtpreis des Sets |

Wegweiser: [Set-Produkte mit fester Zusammenstellung](https://dokumentation.websale.de/v8s/set-produkte/set-produkte-mit-fester-zusammenstellung.md)

### Menge, Preis und Summe

| Tag | Inhalt |
| - | - |
| `~BASKET-PR-Quantity~` | Menge |
| `~BASKET-PR-Price~` | Stückpreis inklusive Mehrwertsteuer |
| `~BASKET-PR-Sum~` | Summe der Position |

`~BASKET-PR-Price~` gibt nichts aus, wenn kein gültiger Preis vorliegt, der Preis also null ist. Bei Zugaben und Gratisprodukten bleibt die Zelle deshalb leer. Fangen Sie das ab, wenn Ihre Tabelle sonst schief aussieht.

Für durchgestrichene Preise stehen `~BASKET-PR-PriceWithoutDiscounts~` und `~BASKET-PR-SumWithoutDiscounts~` zur Verfügung.

### Weitere Merkmale je Position

Diese Themen haben eigene Seiten, weil sie über die reine Anzeige hinausgehen.

* Bonuspunkte
* erweiterter Liefertext
* Flächenprodukte
* Geschenkverpackung
* Texteingabefelder
* Reservierungszeit

## Alles auf einmal löschen

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{BASKET-DeleteAllLink}
   <a href="~BASKET-DeleteAllLink~">Warenkorb leeren</a>
{/BASKET-DeleteAllLink}
```

Referenz: [BASKET-DeleteAllLink](https://dokumentation.websale.de/v8s/referenz/tags/basket/warenkorbsummen.md#basket-deletealllink)

## Die Gesamtsumme

Die Summe entsteht aus drei Bestandteilen: den Positionssummen abzüglich gewährter Rabatte, den Aufschlägen wie Versandkosten und den Nachlässen wie Gutscheinen.

Welche Zeilen Ihr Warenkorb braucht, hängt davon ab, was Ihr Shop anbietet. Die folgende Übersicht ist eine Auswahlliste, keine Vorlage zum Abschreiben.

### Zwischensummen

| Tag | Zeigt |
| - | - |
| `BASKET-ValueOfGoods` | Warenwert ohne globale Rabatte wie den Kundenrabatt |
| `BASKET-SubTotalSum` | Warenwert abzüglich gewährter Rabatte |
| `BASKET-OrderTotal` | Gesamtsumme inklusive Versand, aller Zuschläge und abzüglich aller Rabatte, bei Bruttoshops inklusive Mehrwertsteuer |

### Rabatte und Nachlässe

| Tag | Zeigt |
| - | - |
| `BASKET-GlobalDiscount` | globale Rabatte aufsummiert, beispielsweise Kunden- und Zahlungsartenrabatt |
| `BASKET-PaymentDiscount` | Rabatt aufgrund der gewählten Zahlungsart |
| `BASKET-TotalDiscount` | Summe aller Rabatte und Vergünstigungen |
| `BASKET-VoucherDiscount` | eingelöster Gutscheinbetrag |
| `BASKET-BonusPointsAmount` | Betrag der eingelösten Bonuspunkte |
| `BASKET-Subvention` | gewährter Zuschuss |
| `BASKET-SubventionRest` | Restbetrag des Zuschusses |

### Zuschläge und Zusatzkosten

| Tag | Zeigt |
| - | - |
| `BASKET-DeliveryCost` | Versandkosten |
| `BASKET-PaymentCost` | Zusatzkosten der Zahlungsart, beispielsweise Nachnahmegebühr |
| `BASKET-Surcharge` | Mindermengenzuschlag |
| `BASKET-GiftPackage` | Kosten für Geschenkverpackungen |
| `BASKET-TrustedShopsAdv` | Kosten des Trusted-Shops-Käuferschutzes |
| `BASKET-ResellerSurcharge` | vom Wiederverkäufer eingegebener Zuschlag |
| `BASKET-TotalMultiDeliveryAddressUsageCost` | Kosten für die Nutzung mehrerer Lieferadressen |
| `BASKET-TotalSampleCopyCost` | Kosten aller Belegexemplare |
| `BPO-AllCosts_Sum` | Kosten freier Felder auf Split-Positionsebene |

### Mehrwertsteuer

| Tag | Zeigt |
| - | - |
| `BASKET-TotalVAT` | enthaltene Mehrwertsteuer auf die gesamte Bestellung |
| `BASKET-VATDiscount` | Mehrwertsteuerabzug |

### Bestelloptionen

Individuelle Bestelloptionen, beispielsweise Belegexemplare, laufen über eine eigene Schleife.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{BASKET-OrderOptionData}
   {@BASKET-OrderOptionData}
      ~BASKET-OrderOptionName~: ~BASKET-OrderOptionCost~
   {/@BASKET-OrderOptionData}
{/BASKET-OrderOptionData}
```

Alle Summen-Tags gehören **außerhalb** der Positionsschleife `{@BASKET-PR-Data}`. Innerhalb würden sie je Position wiederholt.

## Konfiguration

Grundlegende Einstellungen des Warenkorbs stehen in der `shop.config` im Abschnitt `<BasketEntries>`.

Referenz: [Abschnitt BasketEntries](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/warenkorb-und-bestellprozess.md#basketentries)

## Weitere Tags rund um den Warenkorb

* Referenz: Tags für Warenkorb-Funktionen
* Referenz: [ST-BasketPage](https://dokumentation.websale.de/v8s/referenz/tags/st/seitenzustand-und-navigation.md#die-tags-im-uberblick) und [ST-Basket\_OK](https://dokumentation.websale.de/v8s/referenz/tags/st/seitenzustand-und-navigation.md)
* Referenz: [MSG-Basket\_Standard](https://dokumentation.websale.de/v8s/referenz/tags/msg-meldungen.md#bestellprozess) und [MSG-Basket\_Notify](https://dokumentation.websale.de/v8s/referenz/tags/msg-meldungen.md#bestellprozess)
* Referenz: [FORM-Basket, BT-Change\_Basket und BT-Order](https://dokumentation.websale.de/v8s/referenz/tags/form-formulare.md#bestellablauf)
* Referenz: [WS-MinOrder-Value](https://dokumentation.websale.de/v8s/referenz/tags/ws/zahlung-versand-und-bestellabschluss.md#die-tags-im-uberblick)

## Verwandte Themen

* Wegweiser: [Freie Produktfelder im Warenkorb anzeigen](https://dokumentation.websale.de/v8s/warenkorb/freie-produktfelder-im-warenkorb-anzeigen.md)
* Wegweiser: [Warenkorb, speicherbar und geräteübergreifend](https://dokumentation.websale.de/v8s/marketing-produkte/geschenkprodukte.md#warenkorb)
* Wegweiser: Übergabe von Preisen an externe Systeme


## Related topics

- [Flächenprodukte im Warenkorb anzeigen](https://dokumentation.websale.de/v8s/warenkorb/flaechenprodukte-im-warenkorb-anzeigen.md)
- [Reservierungszeit im Warenkorb anzeigen](https://dokumentation.websale.de/v8s/warenkorb/reservierungszeit-im-warenkorb-anzeigen.md)
- [Freie Produktfelder im Warenkorb anzeigen](https://dokumentation.websale.de/v8s/warenkorb/freie-produktfelder-im-warenkorb-anzeigen.md)
- [Speicherbarer Warenkorb](https://dokumentation.websale.de/v8s/warenkorb/speicherbarer-warenkorb.md)
- [Geräteübergreifender Warenkorb](https://dokumentation.websale.de/v8s/warenkorb/geraeteuebergreifender-warenkorb.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.