Wegweiser: Preise, Kosten, Mehrwertsteuer, Währung
Verkaufspreis
Der Verkaufspreis steht im technischen ProduktdatenfeldPrice. Als Dezimaltrennzeichen dient der Punkt, beispielsweise 50.00.
Ausgeben lässt er sich auf jedem Template, auf dem Produktdaten geladen sind.
ws_basket.htm gibt BASKET-PR-Price den Einzelpreis je Position aus.
Originalpreis als Streichpreis
Der Originalpreis ist der vorherige Preis eines rabattierten Produkts, im Shop üblich als durchgestrichener Preis: “statt 50.00 € nur 29.99 €”. Gepflegt wird er im technischen ProduktdatenfeldOrgPrice, ebenfalls mit Punkt als Dezimaltrennzeichen.
Ersparnis ausgeben
Aus Original- und Verkaufspreis berechnet der Shop die Ersparnis selbst, wahlweise als Prozentsatz oder als Betrag.PR-Discount hängt das Prozentzeichen selbst an. Ein zusätzliches % im Template führt zu einer doppelten Ausgabe. Über ein Argument steuern Sie die Nachkommastellen, ~PR-Discount(0)~ ergibt beispielsweise “20 %”.
Staffelpreise
Staffelpreise pflegen Sie im WSPManager über das Produktattribut “Staffelpreise” oder im angeschlossenen Warenwirtschaftssystem.Preis zur eingegebenen Menge anzeigen
Vier Tags berücksichtigen die eingegebene Menge samt Staffelpreis und einem etwaigen Kundenrabatt.
Wegweiser: Abhängige Varianten per AJAX nachladen
Staffelpreistabelle
Die hinterlegten Staffeln lassen sich als Tabelle ausgeben. Die KlammerungPR-BulkDiscount greift nur bei Produkten mit Staffelpreisen, die Schleife {@[BD-Data](/v8s/referenz/tags/bd-staffelpreise#die-tags)} durchläuft die Stufen.
Eine Staffelstufe kann auf zwei Arten greifen: ab der angegebenen Menge oder nur bei genau dieser Menge. Welche der beiden gilt, legen Sie je Stufe bei der Pflege fest. Im Template ist der Unterschied nicht sichtbar, er wirkt sich aber auf den berechneten Preis aus.
Automatische Staffelpreisberechnung bei freier Mengenangabe
Normalerweise wählt der Käufer die Menge aus festen Werten, die über abhängige Varianten gepflegt sind. Je Wert ein eigener Preis, je zusätzlichem Wert mehr Pflegeaufwand. Mit der automatischen Staffelpreisberechnung pflegen Sie nur noch einige wenige Menge-Preis-Paare. Der Käufer darf zusätzlich eine eigene Wunschmenge eingeben, und der Shop berechnet den Preis dafür.
Wie gerechnet wird
Der Shop sucht zur Wunschmenge das nächstkleinere und das nächstgrößere hinterlegte Menge-Preis-Paar. Nur ein Paar vorhanden: Aus diesem Paar wird der Stückpreis gebildet, mit der Wunschmenge multipliziert und auf zwei Stellen gerundet.PR-DepVarLink, PR-DepVarLinkPart, PR-SetLink und PR-SetLinkEnc automatisch als URL-Parameter depvar_qty mitgegeben. Voraussetzung ist, dass das Neuladen per AJAX beim Verlassen des Mengenfelds korrekt eingebunden ist.
Voraussetzung
Die Menge der betreffenden Produkte muss über abhängige Varianten gepflegt und ausgewählt werden. Eine Freischaltung durch WEBSALE ist nicht nötig. Wegweiser: Abhängige Varianten anzeigenSchritt 1: Produktdaten anpassen
Die Menge-Preis-Paare stehen in einem eigenen Produktdatenfeld.Schritt 2: Auswahlliste beschriften (optional)
In der Mengen-Auswahlliste steht der Eintrag für die freie Eingabe standardmäßig als “Interpolation”. MitPR-DepVariationOptionIsPriceInterpolation1 geben Sie ihm einen verständlichen Text.
Schritt 3: Eingabefeld ergänzen
Solange die Menge über eine abhängige Variante kommt, braucht es kein Mengenfeld. Bei freier Eingabe schon. Die KlammerungPR-DepVarQuantity unterscheidet beide Fälle.
onBlur löst das Nachladen aus, sobald der Käufer das Feld verlässt. Ohne diesen Aufruf bleibt der angezeigte Preis auf dem alten Stand.
Schritt 4: Hinterlegte Menge-Preis-Paare anzeigen (optional)
Die gepflegten Paare lassen sich als Orientierung ausgeben. Der Inhalt vonPR-PriceInterpolation wird dafür mit den DesignControl-Tags zerlegt.
<g><1>Menge</1><2>Preis</2></g> vor. DC-DynamicLoop1 zerlegt die Kette an den <g>-Marken, DC-FP1_extractTaggedData holt aus jedem Block Menge und Preis heraus, DC-CommercialCalc1 formatiert den Preis kaufmännisch.
Schritt 5: Warenkorbseite erweitern
Ab-Preis und bester Preis
Bei Produkten mit abhängigen Varianten unterscheiden sich die Preise je Kombination. Für die Produktliste brauchen Sie dann einen Ab-Preis.Online-Preise
Für Produkte mit häufig wechselnden Preisen, klassisch Edelmetalle, liefert die Warenwirtschaft den Preis laufend nach. Die Produktdaten selbst bleiben unverändert, überschrieben wird nur der Preis. Ruft ein Käufer ein solches Produkt auf, lädt der Shop den aktuellen Preis nach. Legt er es in den Warenkorb, gilt dieser Preis eine festgelegte Zeit. Danach werden alle Online-Preise im Warenkorb aktualisiert.
Verhalten beim Bestellabschluss
Befindet sich der Käufer im Online-Clearing, also bei der Eingabe und Prüfung von Zahlungsdaten, werden die Preise eingefroren und auch nach Ablauf der Gültigkeit nicht mehr aktualisiert. Ist ein Preis beim Klick auf “Bestellung absenden” abgelaufen, entscheidet die Konfiguration über den weiteren Ablauf.
Lässt sich für ein Online-Preis-Produkt kein Preis ermitteln, kann es nicht in den Warenkorb gelegt werden. Liegt es bereits im Warenkorb und schlägt nur die Aktualisierung fehl, bleibt es bestellbar.
Schritt 1: Preise bereitstellen
Die Warenwirtschaft liefert die Online-Preise automatisiert.Schritt 2: Produkte kennzeichnen
Schritt 3: Shopkonfiguration ergänzen
Beide Parameter stehen im Abschnitt<Basic> der shop.config.
OnlinePriceTimeoutInSec ist die Gültigkeitsdauer in Sekunden. OnlinePriceNotifyPriceUpdateAtPlaceOrder-Allow steuert das Verhalten aus der Tabelle oben.
Referenz: Abschnitt Basic
Schritt 4: Produktdetailansicht anpassen
PR-OnlinePrice trennt Online-Preis-Produkte von normalen. PR-ValidOnlinePriceFound sagt, ob ein Preis ermittelt werden konnte. Ohne gültigen Preis sollten Sie auch den Warenkorb-Button wegklammern.
ws_search.htm, der Produktübersicht ws_category.htm und in CAT-AdvData()-Produktlisten.
Schritt 5: Warenkorb und Bestellübersicht anpassen
Zeigen Sie die Restzeit und einen Button zum Aktualisieren an.ST-BasketPage allein genügt hier nicht, weil der Block auf zwei Seiten stehen soll. Stattdessen blendet {} ihn auf der Bestätigungsseite aus.
BASKET-PR-OnlinePriceTimeLeft liefert Sekunden. Die DC-Int-Tags rechnen daraus Minuten und Sekunden, _div(60) für die Minuten und _mod(60) für den Rest.
Materialien: Countdown für die Restzeit der Online-Preise
