Zum Hauptinhalt springen
Ein angemeldeter Käufer kann seinen Warenkorb unter einem Namen ablegen und später wieder hervorholen. Im Großhandel wird daraus eine wiederkehrende Bestellvorlage, im Privatkundengeschäft ein Merkzettel mit Mengen. Die Funktion verteilt sich auf zwei Orte. Auf dem Warenkorbtemplate legt der Käufer den aktuellen Warenkorb ab, hängt ihn an einen vorhandenen an oder ersetzt einen vorhandenen damit. Auf dem eigenen Template SavedBasketsManage verwaltet er seine abgelegten Warenkörbe. Die SAVEDBASKET-Tags decken beide Orte ab. Wegweiser: Speicherbare Warenkörbe Gespeicherte Warenkörbe hängen am Kundenkonto. Alle Tags dieser Seite setzen deshalb einen angemeldeten Käufer voraus.

Der Einstieg

WS-SavedBasketsManageLink gehört zum Präfix WS- und greift als Klammerung, wenn der Käufer angemeldet ist.
Jede Auswertung von SAVEDBASKET-Baskets liest die Liste aus der Datenbank. Öffnen Sie die Klammerung einmal je Seite und arbeiten Sie innerhalb davon weiter, statt das Tag an mehreren Stellen zu wiederholen.
Die Zahl der gespeicherten Warenkörbe je Kunde und die Zahl der Positionen je Warenkorb sind im Shopsystem fest begrenzt. Ist eine der Grenzen erreicht, blenden die zuständigen Klammerungen die jeweilige Möglichkeit von selbst aus. Sie brauchen dafür keine eigene Prüfung.

Den aktuellen Warenkorb ablegen

Auf dem Warenkorbtemplate stehen drei Wege offen: als neuen Warenkorb speichern, an einen vorhandenen anhängen oder einen vorhandenen ersetzen. Alle drei laufen über dieselbe Form.
Die Form heißt im Shopsystem FORM-SaveBasket, also ohne d. Umgekehrt heißt die zweite Form FORM-SavedBasketManage, mit d, und nicht FORM-SaveBasketManage, wie die Querverweise der Schaltflächenseiten schreiben.
Die Klammerung FORM-SaveBasket blendet die ganze Form aus, wenn der Warenkorb leer ist oder der Käufer die Höchstzahl gespeicherter Warenkörbe schon erreicht hat. Legen Sie die Form deshalb immer in diese Klammerung. Die beiden Auswahllisten unterscheiden sich in ihrem Inhalt. Anhängen geht nur bei Warenkörben, die noch Platz für weitere Positionen haben, ersetzen bei allen. Deshalb gibt es zwei getrennte Tags und nicht eine Liste für beides. SAVEDBASKET-Description_input liefert den festen Namen input_savedbasket_descr.
  • Referenz: FORM-SaveBasket und FORM-SavedBasketManage auf der Seite FORM- (Formulare)
  • Referenz: die vier BT-SavedBasket_Schaltflächen auf der Seite BT- (Buttons)

Die Liste der gespeicherten Warenkörbe

SAVEDBASKET-Baskets ist auch die Schleife über die Liste. Innerhalb davon beschreiben sechs Tags den einzelnen Eintrag.
Positionen und Produkte sind nicht dasselbe. Eine Position ist eine Zeile, die Zahl der Produkte zählt die Mengen zusammen. Beide Tags greifen als Klammerung, wenn ihr Wert über null liegt. Der Verfallszeitpunkt liegt zehn Jahre nach dem Anlegen. Er lässt sich im Shop nicht einstellen, gehört aber in die Anzeige, wenn Sie Käufer auf alte Vorlagen hinweisen wollen. Dieselben Tags funktionieren auch außerhalb der Schleife. Steht gerade ein einzelner gespeicherter Warenkorb im Mittelpunkt, beispielsweise im Hauptbereich Bearbeiten oder in einer Rückfrage, beziehen sie sich auf diesen. Sie schreiben die Anzeige eines Eintrags also nur einmal und verwenden sie an beiden Stellen.

Was sich mit einem Eintrag anstellen lässt

Innerhalb der Schleife liefern fünf Tags die Adressen für die möglichen Aktionen.
Die beiden NoConfirm-Fassungen führen die Aktion sofort aus. Ein Klick auf SAVEDBASKET-DeleteSavedBasketNoConfirmLink löscht den gespeicherten Warenkorb ohne Rückfrage. Verwenden Sie sie nur, wenn Sie die Rückfrage selbst im Browser stellen.
SAVEDBASKET-AddBasketToSavedBasketLink greift als Klammerung und blendet sich aus, sobald dieser Warenkorb die Höchstzahl an Positionen erreicht hat. Die übrigen Linktags sind reine Einzel-Tags. Alle Linktags erzeugen gesicherte Adressen und nehmen die Kennung des betroffenen Warenkorbs mit. Sie brauchen also keinen eigenen Parameter anzuhängen.

Die vier Hauptbereiche des Verwaltungstemplates

Das Template SavedBasketsManage bedient vier Zustände. Welcher gerade gilt, sagen vier Klammerungen. Jede davon gibt es auch in der negativen Fassung.
Genau einer der vier Bereiche ist jeweils aktiv. Legen Sie das ganze Template in diese vier Klammerungen, dann bauen Sie vier Ansichten in einer Datei. SAVEDBASKET-BackLink führt dorthin zurück, wo der Käufer hergekommen ist, also entweder auf den Warenkorb oder auf die Übersicht. Sie brauchen dafür keine Fallunterscheidung im Template.
SAVEDBASKET-BackLink ist ausschließlich ein Einzel-Tag. Beides trifft nicht zu, als Klammerung gibt das Tag nichts aus.

Die Positionen eines gespeicherten Warenkorbs

Im Hauptbereich Bearbeiten laufen Sie mit PR-Data über die Positionen. Innerhalb dieser Schleife stehen die gewohnten Produktdaten-Tags zur Verfügung, dazu einige Tags, die es nur hier gibt.
Ein gespeicherter Warenkorb kann Jahre alt sein. Produkte verschwinden aus dem Sortiment, Varianten entfallen, Eingabefelder ändern sich. Klammern Sie die Position deshalb immer mit ST-SavedBasketPosition_OK und sagen Sie dem Käufer im negativen Fall, was mit dieser Zeile ist. Ohne diese Klammerung landet er mit einem Fehler im Bestellvorgang.
Das Tag gibt die zur Position gespeicherte Kommissionsangabe aus und greift als Klammerung, wenn eine vorliegt. Es funktioniert nur, wenn das Mitspeichern der Kommissionsangabe im Shop eingeschaltet ist, sonst gilt es als ungültiges Tag.
  • Referenz: die drei PR-SavedBasketTags auf der Seite PR- (Grundlagen und Produktdaten)
  • Referenz: ST-SavedBasketPosition_OK auf der Seite ST- (Status)

Rückmeldungen an den Käufer

SAVEDBASKET-AffectedBasket funktioniert auch nach dem Löschen. Das Shopsystem merkt sich den Namen des gelöschten Warenkorbs, damit die Meldung ”… wurde gelöscht” den Namen noch nennen kann. Referenz: MSG-SavedBasket_notify auf der Seite MSG- (Meldungen)

Die Tags im Überblick

SAVEDBASKET-Baskets und SAVEDBASKET-NewSavedBasketsLeft sind auf allen Templates zulässig. Die vier Bereichs-Tags gelten nur auf SavedBasketsManage. Die Eintrags-Tags stehen innerhalb der SAVEDBASKET-Baskets-Schleife und zusätzlich in den Hauptbereichen Bearbeiten, Löschen bestätigen und Ersetzen bestätigen. Die drei Positions-Tags gehören in die PR-Data-Schleife des Hauptbereichs Bearbeiten.

Verwandte Themen