Zum Hauptinhalt springen
Ein kundenspezifisches Angebot ist eine Preisliste, die nur für einen einzelnen Kunden gilt: bestimmte Produkte zu bestimmten Mengen und Preisen, befristet bis zu einem Gültigkeitsdatum. Die Angebote werden in den Shop importiert und dem Kunden über seine Kundennummer zugeordnet. Sieht er sie im Shop an, kauft er zu diesen Preisen. Dafür gibt es zwei Tag-Familien. OFFER- liefert die Kopfdaten eines Angebots, also Nummer, Datum, Kosten und Summen. OPR- liefert die Produkte darin, also Name, Menge, Angebotspreis und Rabatt. Zusammengehalten wird beides von zwei ineinandergeschachtelten Schleifen. Wegweiser: Kundenspezifische Angebote · Referenz: Abschnitt Offers

Der Aufbau einer Angebotsseite

Das Shopsystem legt die Angebote eines Kunden und die Produkte eines Angebots in zwei getrennten Listen ab. Die äußere Schleife {@WS-OffersList} läuft über die Angebote und lädt dabei jedes Mal die Produkte des gerade erreichten Angebots nach. Erst danach steht die innere Schleife {@OPR-Data} auf gefüllten Daten.
Die Reihenfolge ist zwingend. Außerhalb von {@WS-OffersList} ist kein Angebot ausgewählt, und alle OFFER-Tags gelten dann als ungültiges Tag. Die OPR-Tags wiederum brauchen zusätzlich die Klammerung {CAT-AdvData($Offers,99)}, weil erst sie die Produktliste des Angebots bereitstellt.
Die äußere Schleife berechnet bei jedem Durchlauf die Summen des Angebots neu. Die Tags OFFER-TotalSumNet, OFFER-TotalSumGross und OFFER-TotalSumVAT sind deshalb nur innerhalb der Schleife verlässlich. Die Zahl im Argument von CAT-AdvData begrenzt sonst die Anzahl der gelisteten Produkte. Für $Offers wertet das Shopsystem sie nicht aus, die Schleife läuft immer über alle Produkte des Angebots. Schreiben Sie die Zahl trotzdem hin, damit die Schreibweise zu allen anderen CAT-AdvData-Bereichen passt. WS-OffersList ist bei WS- (Allgemeine Tags) beschrieben, CAT-AdvData bei CAT- (Kategorien und Produktlisten).

Die Kopfdaten eines Angebots

Alle vier arbeiten auch als Klammerung und greifen, wenn ein Wert vorliegt. Das lohnt sich bei OFFER-Descr und OFFER-ExpireDate, denn beide Felder sind im Import nicht verpflichtend.

Zahlungsart, Versandart und Summen

Zu jedem Angebot gehören eine Zahlungsart, eine Versandart und die daraus folgenden Kosten. Es gibt sie jeweils in drei Varianten: netto, brutto und als Mehrwertsteueranteil. Dazu kommen die Namen der beiden Arten und drei ältere Tags ohne Aufteilung. OFFER-PaymentName und OFFER-DeliveryName sind der einzige Weg, dem Kunden überhaupt zu zeigen, welche Zahlungs- und Versandart für sein Angebot hinterlegt sind. Die drei Kostentags ohne Suffix stammen aus der Zeit vor der Aufteilung in netto und brutto. Verwenden Sie in neuen Templates die Varianten mit Net, Gross und VAT, weil dort eindeutig ist, was ausgegeben wird. Alle Beträge werden im Zahlenformat des Shops ausgegeben, also mit dem konfigurierten Dezimaltrennzeichen und der konfigurierten Tausendertrennung. Eine Währungsangabe hängt das Shopsystem nicht an, die setzen Sie selbst mit WS-Currency oder WS-CurrencySymbol.

Die Produkte eines Angebots

OPR-Data ist ausschließlich ein Schleifen-Tag. Als Einzel-Tag oder Klammerung gibt es nichts aus. Die Prüfung, ob überhaupt Produkte vorliegen, übernimmt die Klammerung {CAT-AdvData($Offers,99)} darüber, die sich bei einem leeren Angebot von selbst ausblendet. OPR-Image liefert eine fertige Adresse auf das Produktbild, nicht nur den Dateinamen. Liegt kein Bild vor, bleibt die Ausgabe leer und die Klammerung greift nicht, sodass Sie die Bildspalte sauber weglassen können.
OPR-Quantity gibt die Menge ohne Nachkommastellen aus. Bei Produkten, die in Bruchteilen bestellt werden, beispielsweise Meterware, sehen Sie im Template die abgeschnittene Zahl. Gerechnet wird intern mit dem vollen Wert.

Varianten anzeigen

OPR-Variations hat zwei Aufgaben. Als Einzel-Tag gibt es die fest zugewiesenen Varianten des Angebotsprodukts aus, also beispielsweise Größe und Farbe. Als Klammerung greift es, wenn Varianten oder Texteingabefelder vorliegen.

Die Preise

Alle vier Preise beziehen sich auf die Bestellmenge, nicht auf das einzelne Stück. Bei einer Menge von 10 steht in OPR-GrossPrice der Preis für alle zehn. Wollen Sie einen Stückpreis zeigen, müssen Sie ihn selbst ausweisen oder im Angebot eine Menge von 1 hinterlegen.

Der Rabatt

Im Angebot geben Sie nur einen der beiden Werte an. Den jeweils anderen rechnet das Shopsystem aus. Geben Sie den Prozentsatz an, ergibt sich der Betrag, geben Sie den Betrag an, ergibt sich der Prozentsatz.
Beide Tags geben bei einem Wert von null eine leere Zeichenkette aus. Die Klammerung greift dann nicht, und der Rabatthinweis verschwindet von selbst. Sie brauchen also keine eigene Prüfung auf “kein Rabatt”.

Ein Angebot auswählen

Hat ein Kunde mehrere Angebote, gibt es zwei Wege, sie ihm zu zeigen. Der erste ist eine Auswahlliste. Dafür setzen Sie WS-OffersList als Einzel-Tag. Das Shopsystem baut daraus eine fertige Selectbox mit allen Angeboten des Kunden, und der Kunde sieht immer nur das gewählte.
Der zweite Weg ist die Schleife von oben, die alle Angebote untereinander auf eine Seite setzt. Dann braucht jedes Angebot ein eigenes Formular, und darin muss stehen, um welches Angebot es geht. Das erledigt WS-PrintHiddenOfferInput.
WS-PrintHiddenOfferInput erzeugt ein vollständiges verstecktes Eingabefeld mit dem Index des aktuellen Schleifendurchlaufs. Sie schreiben also kein input-Element darum herum. Setzen Sie es nur innerhalb der Schleife, denn außerhalb steht der Index auf null. WS-OffersCount gibt die Anzahl der Angebote aus und eignet sich für eine Überschrift über der Liste.

Meldungen

MSG-Offers_Notify gibt Hinweistexte rund um die Angebote aus, beispielsweise wenn ein Angebot abgelaufen ist.
Referenz: MSG- (Meldungen)

Die Tags im Überblick

Alle OFFER-Tags gelten nur innerhalb der Schleife {@WS-OffersList}, alle OPR-Tags zusätzlich nur innerhalb von {@OPR-Data}. Die Tag-Namen wertet das Shopsystem ohne Rücksicht auf Groß- und Kleinschreibung aus.

Verwandte Themen