Zum Hauptinhalt springen
Gruppierungsrabatte fassen Produkte zu einer Rabattgruppe zusammen und gewähren einen Rabatt, sobald der Warenkorb für diese Gruppe eine Menge oder einen Warenwert erreicht. Welche Gruppen es gibt und ab welcher Schwelle wie viel Rabatt gilt, steht in der discount.dat. Welches Produkt zu welcher Gruppe gehört, steht im Produktdatenfeld “Rabattgruppe”. Die GD-Tags machen diese Regeln im Template sichtbar. Sie werden auf zwei Arten verwendet: als Schleife über alle hinterlegten Stufen, um eine Rabattstaffel anzuzeigen, oder als gezielte Abfrage für eine einzelne Rabattgruppe, um den aktuell gewährten Rabatt an einem Produkt oder im Warenkorb auszugeben. Wegweiser: Rabatte festlegen · Referenz: discount.dat

Die Rabattstaffel auflisten

GD-Data hat drei Gesichter. Als Einzel-Tag gibt es die Anzahl der Stufen aus, als Klammerung greift es, wenn überhaupt Stufen vorhanden sind, und als Schleife läuft es über die Stufen.
Jede Stufe hat entweder eine Mengenschwelle oder eine Wertschwelle, niemals beides. Deshalb sind GD-Data_FromQuantity und GD-Data_FromPrice auch Klammerungen: die Klammerung greift genau bei der Art von Schwelle, die diese Stufe verwendet, und bleibt bei der anderen leer. So schreiben Sie beide Zeilen untereinander und bekommen immer die passende. GD-Data_Discount gibt den Rabattsatz ohne Nachkommastellen aus. Für gebrochene Sätze geben Sie die gewünschte Stellenzahl von 0 bis 5 im Argument an, beispielsweise ~GD-Data_Discount(2)~ für “7,50”.

Nur eine Rabattgruppe auflisten

Mit einer ID im Argument beschränkt sich die Schleife auf die Stufen dieser einen Rabattgruppe. Das ist der übliche Fall in der Produktansicht, wo nur die Staffel des angezeigten Produkts interessiert.
Innerhalb einer laufenden @GD-Data-Schleife darf keine zweite Schleife mit einer anderen ID stehen. Das Shopsystem führt nur einen Schleifenzähler, und eine verschachtelte Schleife mit abweichender ID wird als ungültiges Tag abgewiesen. Listen Sie mehrere Rabattgruppen deshalb nacheinander auf, nicht ineinander.

Die erreichte Stufe hervorheben

GD-Data_DiscountGranted greift bei der Stufe, die aufgrund des aktuellen Warenkorbs tatsächlich gewährt wird. Damit heben Sie in der Staffel hervor, wo der Besucher gerade steht.
GD-Data_DiscountGranted funktioniert nur, wenn die Schleife mit einer Rabattgruppen-ID im Argument geöffnet wurde. Das Shopsystem ermittelt den gewährten Satz beim Eintritt in die Schleife, und dafür braucht es die ID. In einer Schleife ohne Argument bleibt der Vergleichswert bei null, und die Klammerung greift bei keiner einzigen Stufe.
Die Zuordnung erfolgt über den Rabattsatz. Sind in einer Rabattgruppe zwei Stufen mit demselben Satz hinterlegt, werden beide als erreicht markiert. Das fällt nur bei ungewöhnlich gebauten Staffeln auf.

Den Rabatt einer Rabattgruppe abfragen

Außerhalb der Staffel fragen Sie eine Rabattgruppe direkt über ihre ID ab. Alle Tags dieses Abschnitts erwarten die ID als erstes Argument, üblicherweise als $PR-DiscountID$ in der Produktansicht oder als $BASKET-PR-DiscountID$ auf der Warenkorbseite.
GD-DiscountForID_Available sagt nur, dass zu dieser ID Regeln existieren, nicht dass gerade ein Rabatt gewährt wird. Ob tatsächlich etwas gewährt wird, beantwortet GD-DiscountForID_Granted als Klammerung. Wer nur Available prüft und dann den Satz ausgibt, schreibt bei einem noch nicht erreichten Schwellenwert eine Null auf die Seite.
Zeitabhängige Stufen gelten nur in einem hinterlegten Zeitraum. GD-DiscountForID_TimeDependent erkennt, dass eine Rabattgruppe solche Stufen enthält, und erlaubt Ihnen einen entsprechenden Hinweis wie “Aktionsrabatt”.

Den Bezugswert ausgeben

Zwei weitere Tags geben aus, worauf sich der gewährte Rabatt stützt. Damit zeigen Sie dem Besucher, wie viel er in dieser Rabattgruppe bereits im Warenkorb hat.
Sie verhalten sich wie GD-DiscountForID_Granted und nehmen dieselben Argumente, geben statt des Rabattsatzes aber den Bezugswert beziehungsweise die Bezugsmenge aus.

Die nächsthöhere Stufe zeigen

Mit zwei weiteren Argumenten rechnen die Tags so, als läge zusätzlich ein bestimmter Wert oder eine bestimmte Menge im Warenkorb. Damit beantworten Sie die Frage “Was bekomme ich, wenn ich noch eines dazulege”.
Die Argumente sind der Reihe nach: Rabattgruppen-ID, Nachkommastellen, zusätzlicher Preis, zusätzliche Menge.
Der dritte und der vierte Parameter wirken nur gemeinsam. Das Shopsystem wertet sie erst aus, wenn alle vier Argumente angegeben sind. Ein Aufruf mit nur drei Argumenten rechnet mit dem unveränderten Warenkorb, ohne dass das auffällt. Geben Sie die Nachkommastellen deshalb auch dann an, wenn Sie null Stellen wollen.

Die Tags im Überblick

Die Tags der GD-Data_Familie gelten nur innerhalb der @GD-Data-Schleife. Die übrigen Tags sind auf allen Templates zulässig. Die Klammerungen von GD-Data_ID, GD-Data_FromQuantity und GD-Data_FromPrice vergleichen mit dem Argument, wenn eines angegeben ist. {GD-Data_ID(VIP)} greift also nur beim Durchlauf der Rabattgruppe VIP. Ohne Argument greifen sie, wenn überhaupt ein Wert vorliegt.
Bei GD-Data_Discount dient das Argument den Nachkommastellen. Als Klammerung mit Argument vergleicht das Shopsystem trotzdem die Stellenzahl mit dem formatierten Rabattsatz, was praktisch nie zutrifft. Verwenden Sie GD-Data_Discount mit Argument nur als Einzel-Tag.

Verwandte Themen