Zum Hauptinhalt springen
Ein gespeicherter Warenkorb ist ein benannter Satz Produkte, den ein angemeldeter Käufer jederzeit wieder in seinen aktuellen Warenkorb übernehmen kann, ganz oder in Teilen. Zwei Anlässe machen das wertvoll. Der eine ist die wiederkehrende Bestellung: Wer jeden Monat dieselben zwölf Artikel braucht, legt sie einmal als „Monatsbedarf” ab. Der andere ist der unterbrochene Einkauf: Der Käufer hat zusammengestellt, was er braucht, will aber noch nicht bestellen, und findet die Auswahl beim nächsten Besuch wieder. Anders als der Cookiewarenkorb ist das nichts, was im Hintergrund passiert. Der Käufer legt den Warenkorb bewusst an, benennt ihn und kann mehrere davon nebeneinander führen. Die Funktion muss für Ihren Shop freigeschaltet werden. Weitere Informationen erhalten Sie von der WEBSALE AG. Voraussetzung ist außerdem ein Kundenkonto, denn die Warenkörbe hängen am angemeldeten Käufer.
Speicherbarer Warenkorb und geräteübergreifender Warenkorb funktionieren nicht mit Web-to-Print-Produkten.

Was der Käufer tun kann

Die Funktionen verteilen sich auf drei Orte. Die dritte Zeile ist der Grund, warum sich die Funktion gut in eine Kopfzeile oder eine Seitenleiste einbauen lässt. Der Käufer sieht seine gespeicherten Warenkörbe dann überall, nicht nur an einer Stelle im Kundenkonto. Nicht jede Warenkorbposition wandert mit. Wunschlistenpositionen, automatisch eingefügte Positionen, versteckte Positionen, versteckte Set-Unterartikel und Gutscheinprodukte werden beim Speichern übergangen. Der gespeicherte Warenkorb kann deshalb weniger Positionen enthalten als der aktuelle.

Schritt 1: Template zuweisen

Referenz: Abschnitt Templates

Schritt 2: Meldungen hinterlegen

Jede Aktion erzeugt eine Rückmeldung. Ohne diese Texte bleibt der Käufer im Unklaren, ob sein Warenkorb gespeichert wurde.
~SAVEDBASKET-AffectedBasket~ setzt den Namen des betroffenen Warenkorbs ein. Beim Löschen greift der Shop dabei auf den gemerkten Namen des gerade gelöschten Warenkorbs zurück, die Meldung bleibt also vollständig. Referenz: Abschnitt NotifyMessages-Txt

Gültigkeitsprüfung beim Laden

Standardmäßig prüft der Shop beim Laden eines gespeicherten Warenkorbs, ob die enthaltenen Produkte noch existieren, und entfernt fehlende automatisch. Das hält die Liste sauber, löscht aber ohne Rückfrage.
Mit yes bleiben die Positionen stehen. Klammern Sie dann mit {[ST-SavedBasketPosition_OK](/v8s/referenz/tags/savedbasket-speicherbare-warenkoerbe#die-positionen-eines-gespeicherten-warenkorbs)} und {!ST-SavedBasketPosition_OK}, damit der Käufer sieht, welche Position nicht mehr gültig ist. Referenz: Abschnitt Basic Der Link funktioniert auf jedem Template.
Klammern Sie den Link mit {[ST-LoggedIn](/v8s/referenz/tags/st/seitenzustand-und-navigation)}. Ein nicht angemeldeter Käufer hat keine gespeicherten Warenkörbe, der Link liefe für ihn ins Leere.

Schritt 4: Speichern auf der Warenkorbseite anbieten

Das Formular FORM-SaveBasket legt einen neuen gespeicherten Warenkorb an. Die Bezeichnung ist Pflicht, deshalb greift ohne Eingabe die Meldung SavedBasket-DescrEmpty.
Die Klammerung ist nicht schmückend. {FORM-SaveBasket} blendet sich selbst aus, wenn der Warenkorb leer ist oder der Käufer die zulässige Anzahl gespeicherter Warenkörbe erreicht hat. Dasselbe leistet {[SAVEDBASKET-NewSavedBasketsLeft](/v8s/referenz/tags/savedbasket-speicherbare-warenkoerbe#die-tags-im-uberblick)}, falls Sie noch weitere Elemente an dieselbe Bedingung hängen wollen.

Hinzufügen und Ersetzen

Statt einen neuen Warenkorb anzulegen, kann der Käufer den aktuellen Warenkorb an einen bestehenden anhängen oder einen bestehenden damit überschreiben. Beides läuft über eine Auswahlliste und eine Schaltfläche.
~SAVEDBASKET-AddToSavedBasketSelection~ listet nur Warenkörbe auf, die noch Positionen aufnehmen können. Für das Ersetzen tauschen Sie die Auswahlliste gegen SAVEDBASKET-ReplaceWithBasketSelection und die Schaltfläche gegen eine der beiden Ersetzen-Schaltflächen.
Ersetzen löscht den bisherigen Inhalt des gespeicherten Warenkorbs. Verwenden Sie dafür die Variante mit Bestätigung. Die Variante ohne Bestätigung ist nur dann vertretbar, wenn Sie sie deutlich beschriften.

Schritt 5: Verwaltungstemplate erstellen

Legen Sie das Template unter dem Dateinamen an, den Sie in Schritt 1 eingetragen haben. Es enthält vier Bereiche, von denen immer genau einer sichtbar ist. Die Hinweismeldungen aus Schritt 2 geben Sie mit {[MSG-SavedBasket_Notify](/v8s/referenz/tags/msg-meldungen#im-shopsystem-vorhanden-bisher-nicht-beschrieben)} aus, sinnvollerweise oberhalb der vier Bereiche.

Die Übersicht

SAVEDBASKET-Baskets leistet drei Dinge zugleich: als Einzeltag gibt es die Anzahl aus, als Klammerung prüft es, ob überhaupt etwas gespeichert ist, und als Schleife durchläuft es die Liste. ~SAVEDBASKET-BasketsCounter~ zählt dabei ab 1. {SAVEDBASKET-AddBasketToSavedBasketLink} als Klammerung blendet sich aus, sobald der betreffende Warenkorb die zulässige Anzahl an Positionen erreicht hat. Der Käufer sieht den Link also gar nicht erst, wenn er nicht funktionieren würde. Zu jedem Löschen- und Ersetzen-Link gibt es eine Variante ohne Rückfrage: SAVEDBASKET-DeleteSavedBasketNoConfirmLink und SAVEDBASKET-ReplaceWithBasketNoConfirmLink. Diese führen die Aktion sofort aus. Nehmen Sie in der Übersicht die Varianten mit Bestätigung, sonst löscht ein Fehlklick einen Warenkorb, den der Käufer über Wochen gepflegt hat.

Bearbeiten, löschen, ersetzen

Der Bereich SAVEDBASKET-Edit zeigt einen einzelnen gespeicherten Warenkorb. Darin gehören in ein Formular mit FORM-SavedBasketManage: Die beiden Bestätigungsbereiche sind kurz. Sie nennen den betroffenen Warenkorb mit ~SAVEDBASKET-Description~, bieten die Variante ohne Rückfrage als Bestätigung an und führen mit ~SAVEDBASKET-BackLink~ zurück zur aufrufenden Seite.

Die Tags im Überblick

Liste und einzelner Warenkorb

Der Verfallszeitpunkt liegt in der aktuellen Umsetzung immer zehn Jahre in der Zukunft und wird bei jeder Änderung neu gesetzt. Die beiden Tags liefern also einen Wert, aus dem sich praktisch nichts ableiten lässt. Bauen Sie keine Ablaufwarnung darauf.

Bereiche und Formulare

Positionen

Das Löschen einer Position entfernt auch die zugehörigen Set-Unterartikel. Ein Set bleibt so nicht halbiert zurück.

Verwandte Themen