Zum Hauptinhalt springen
Zwischen dem Klick auf “In den Warenkorb” und dem Absenden der Bestellung liegen zwei Arten von Einstellungen. Die einen bestimmen, wie der Warenkorb selbst aussieht und was er anzeigt. Die anderen bestimmen, was am Ende abgerechnet wird, also Rabatte, Zuschläge, Mindestbestellwerte und kostenpflichtige Zusatzleistungen. Diese Seite beginnt beim Warenkorb, geht dann zu den Bestellkonditionen und den Zusatzleistungen und endet bei den Besonderheiten einzelner Produktarten und Bestellwege. Referenz: Shopkonfiguration shop.config, Übersicht aller Abschnitte

BasketEntries

Bestimmt die Eigenschaften des Warenkorbs und die Texte, die in den Bestelldaten erscheinen.

Texte in den Bestelldaten

Begrenzungen und Eingabefilter

MaxPositions-Value begrenzt die Anzahl der Positionen, nicht die Menge je Position. Von einer Position lassen sich weiterhin beliebig viele Stück bestellen.

Anzeige der Rabatte

Alle vier kennen dieselben beiden Werte. global zieht den Rabatt erst am Ende vom Warenkorb ab. entry zeigt jeden Preis und jede Position bereits reduziert an. Standard ist global.

Nummerierung der Bestellpositionen

allproducts zählt alle sichtbaren Produkte, mainproducts lässt Set-Unterprodukte aus. Produkte mit gesetztem Produktdatenflag HideForBasket gelten als nicht sichtbar und werden nie mitgezählt. Im Format steht an erster Stelle die Zählart und an zweiter die Anzahl der festen Stellen.
Diese eindeutige, aufsteigende Nummerierung erleichtert es, bei Kundenrückfragen auf eine einzelne Position zu verweisen.

Weitere Einstellungen

Da Mengenangaben in der Regel ganzzahlig sind, wird DecimalSymbol selten gebraucht. Er betrifft beispielsweise das Tag BASKET-PR-Quantity.
Zwei Parameter dieses Abschnitts werden nicht mehr unterstützt und sollten nicht mehr verwendet werden.CombineBulkDiscount fasste Staffelpreise eines Produkts über mehrere Varianten hinweg zusammen. Verwenden Sie stattdessen den Produktgruppenrabatt.DeliveryTextInOrder-Allow steuerte die Anzeige des Versandkostentextes in den Bestelldaten.

AdditionalProductFieldsInBasket

Legt fest, welche freien Produktdatenfelder im Warenkorb verfügbar sind. Das ist die Voraussetzung für mehrere andere Funktionen, unter anderem für produktabhängige Zahlungsarten, produktabhängige Versandarten und produktabhängige Gutscheine.
Steht er auf yes, wird der Wert jedes +Field am ersten Leerzeichen geteilt. Davor steht der Feldname, dahinter der Name eines Templates.
Bei UseTemplateExtension = no würde derselbe Eintrag als Feldname material incl_material.htm gelesen und liefe ins Leere.
Ist das Maximum von zwanzig Feldern erreicht, werden weitere Einträge stillschweigend verworfen. Das gilt auch, wenn der Abschnitt mehrfach in der Konfiguration steht.

BasketProductOptions

Definiert freie Felder auf Split-Positionsebene, also Eingaben, die der Käufer je Warenkorbposition oder je Lieferadresse einer Position machen kann, samt optionaler Kosten. Der Abschnitt ist tief verschachtelt. Eine +BasketProductOption beschreibt ein Feldset. Requirements legt fest, wann dieses Feldset überhaupt erscheint. Inputs enthält die Felder. Costs enthält die Kosten, die aus den Eingaben entstehen.

Grundeinstellung

+BasketProductOption

UseOnce fragt die Felder einmalig je Bestellung ab. BasketPosition je Warenkorbposition. BasketPositionAddress je Lieferadresse einer Position bei Split-Order.

Requirements

Entscheidet, ob das Feldset erscheint. Die +RequirementGroup-Abschnitte sind oder-verknüpft, die +Requirement-Abschnitte darin und-verknüpft.
Bei LevelOfUsage = UseOnce ist als Proof ausschließlich BasketSubTotalSum zulässig. Die anderen Werte beziehen sich auf eine einzelne Position und ergeben für ein einmaliges Feld keinen Sinn.

Inputs

Referenz: Abschnitt GenericInputChecks

Costs

singleFixCost berechnet den Wert einmalig je Position. percentualSum berechnet ihn prozentual auf den Warenwert der Position oder des Warenkorbs. multiplyWithQuantity multipliziert ihn mit der Menge der Position. Die +ConditionGroup-Abschnitte sind oder-verknüpft, die +Condition-Abschnitte darin und-verknüpft. Zulässige Werte für Type: filled, empty, value, notvalue, inlist, notinlist, prefix, notprefix, greaterthan, lessthan, inbetween, includedinlist, notincludedinlist, matchsimplewildcard und notmatchsimplewildcard. Bei inbetween lautet das Format von Value start-end. Korrekt ist match-once. Derselbe Tippfehler steht auch im Abschnitt zu den Zahlungsarten.
Die Kosten werden berechnet, sobald die Bedingungen erfüllt sind, auch wenn der Käufer das Eingabefeld leer lässt oder die Checkbox nicht anhakt.Die Ausnahme ist eine Bedingung, die das Eingabefeld selbst prüft, also Proof = BasketProductOptionInputID zusammen mit Type = filled. Dann entstehen bei leerem Feld keine Kosten.

OrderConditions

Der zentrale Abschnitt für Rabatte, Mindestbestellwert und Mindermengenzuschlag.

Mindestbestellwert und Mindermengenzuschlag

SurchargeCalculation-Mode = subtotal nimmt den gesamten Warenwert. totalsumofproducts nimmt nur die Produkte, die nicht über das Produktdatenfeld IgnoreForSurcharge ausgenommen wurden. Ein Beispiel zu MinimumOrder-ConsiderVoucherDiscount-Allow. Der Mindestbestellwert beträgt 10 Euro, im Warenkorb liegt ein Produkt für 12 Euro, dazu ein Gutschein über 20 Prozent. MinimumOrder-PrimeShoppingHasAbsolutePriority = yes hebt für Prime-Kunden mit der Option “kein Mindestbestellwert” auch die Mindestbestellwerte von Gutscheinen und Bonuspunkten auf.

Auftragswertrabatt

Ist AppDiscount-List gefüllt, ersetzt diese Staffel bei App-Bestellungen die Staffel aus Discount-List.

Zusammenspiel der Rabatte

Diese Parameter entscheiden, auf welcher Grundlage welcher Rabatt gerechnet wird. Sie wirken sich auf die Gesamthöhe aller Abzüge aus, deshalb lohnt es sich, sie bewusst zu setzen. ConsiderNetProductPriceForDiscountBaseWhenTaxFreeApplies greift nur unter drei Voraussetzungen. Der Shop muss mit Bruttopreisen arbeiten, die Steuerberechnung muss im Standardverfahren laufen, und dem Käufer muss die Mehrwertsteuer abgezogen werden. Das ist typischerweise bei Drittlandbestellungen der Fall. UseOnlyHighestDiscount-Allow vergleicht kundenspezifischen Rabatt, globalen Rabatt, Warenwertrabatt und Produktgruppenrabatt und gewährt nur den höchsten davon.

Nicht dokumentierte Parameter zum Rabattverhalten

Der Kernel liest in diesem Abschnitt sieben weitere Parameter.
Diese Parameter greifen in die Preisberechnung ein. Setzen Sie sie nur nach Abstimmung mit der WEBSALE AG. Der Freigabestatus ist noch zu klären.CommunityDiscount-List wirkt nur bei aktiver Community-Anbindung. Ist der Käufer als Community-Mitglied angemeldet, wird diese Staffel verwendet und Discount-List nur als Rückfallebene, falls sie leer ist.

Auftragsnummern und Folgebestellungen

Bleibt die Subshop-Liste leer, zählen nur Bestellungen aus dem Subshop, in dem der Käufer gerade einkauft. Ein Stern zählt die Bestellungen aus allen Subshops.

Weitere Einstellungen

AddProdToBasketOnlyInLoggedInState-Allow ist vor allem für halbgeschlossene B2B-Shops gedacht. Die Schweizer Rundungslogik multipliziert die Endsumme mit 20, rundet kaufmännisch auf null Stellen und teilt wieder durch 20. Sie wirkt ausschließlich auf die Endsumme. Preise, Zwischensummen, Rabatte und Steuerbeträge bleiben unberührt. Bei allen RemoveSigns-Parametern werden die genannten Zeichen entfernt, ohne dass der Käufer eine Hinweis- oder Fehlermeldung sieht.

OrderOptions1 bis OrderOptions5

Definiert kostenpflichtige Zusatzleistungen, die auf der Zahlungs- und Versandartenseite angeboten werden. Es sind bis zu fünf Abschnitte möglich, jeder mit bis zu 50 +Entry-Unterabschnitten.

Hauptabschnitt

Ist DeliveryCountry-List gesetzt, wird die Option für alle anderen Länder nicht angeboten.

+Entry

Ein kostenfreier Eintrag erscheint nur dann in der Bestellung, wenn WriteCostFreeSelectionsInOrder auf yes steht.
Der Parameter Display-Txt wird nicht mehr benötigt. Die Anzeige der Kosten erfolgt heute direkt auf der Warenkorbseite über das Tag BASKET-OrderOptionCost.

OrderSpecialInput

Regelt die optionalen Zusatzinformationen zu einer Bestellung.
Der Parameter Txt ist veraltet und hat keine Wirkung mehr.
Die entfernten Zeichen verschwinden ohne Hinweis- oder Fehlermeldung an den Käufer.

AcceptTermsAndConditions

Legt fest, wo die AGB angezeigt werden, ob der Käufer ihnen ausdrücklich zustimmen muss und ob die Checkbox vorbelegt ist. Zusätzlich lässt sich hier eine zweite Checkbox für die Weitergabe der E-Mail-Adresse an den Versanddienstleister konfigurieren.

AGB-Zustimmung

CombinedAddress ist die Seite zur Auswahl der Rechnungs- und Lieferadresse, PayDeliv die Seite zur Auswahl der Zahlungs- und Versandarten, PlaceOrder die Bestellübersichtsseite.
Die Checkbox darf nicht mit dem Tag WS-CheckConditions umgesetzt werden. Das ist ein abgelöstes Tag einer früheren Integrationsmethode. Verwenden Sie stattdessen WS-AcceptTermsAndConditions_input und WS-AcceptTermsAndConditions_checked.

Checkbox zur Datenweitergabe

Die Vorbelegung unchecked ist die datenschutzkonforme Einstellung.

DirectOrder

Legt die Optionen für die Direktbestellung fest, also die Bestellung über eine Eingabetabelle mit Produktnummern.
DefaultInputLines-Value und ExtendInputLines-Value zusammen dürfen 100 Zeilen nicht überschreiten.
Bei ShowBaseProductsAtDirectOrderInput-Allow = no sieht der Käufer direkt die eingegebene Variantenkombination. Bei yes sieht er das Basisprodukt und wählt die Kombination selbst über die Auswahlliste.

Hinweistexte

Offers

Hält die Texte für kundenspezifische Angebote.
Läuft eine Bestellung über ein kundenspezifisches Angebot, werden alle Versandarten bis auf die erste deaktiviert und die erste mit Name und Kosten aus dem Angebot überschrieben. Dasselbe gilt für die Zahlungskosten.

W2P

Hält die Meldungen und Texte für das Web-to-Print-Modul. Bei SaveW2PToCookieBasket-Allow = yes werden TicketID, DocID, ThumbnailURL und OverwriteReturnURLs mit in den Cookiewarenkorb aufgenommen und beim Einlesen wieder gesetzt.

AreaProduct

Legt die Einstellungen für Flächenprodukte fest, also Produkte, deren Preis sich aus Länge und Breite ergibt.

Berechnung

Die Fläche ergibt sich aus Länge mal Breite geteilt durch den Umrechnungsfaktor. Geben Käufer die Maße in Zentimetern ein und ist der Flächenpreis in Quadratmetern hinterlegt, lautet der Faktor 10000. Bei UseDynamicWeightBasedOnCalculatedArea = yes ergibt sich das Gesamtgewicht aus dem Produktdatenfeld Weight mal der eingegebenen Fläche. Bei no gilt das Gewicht aus den Produktdaten unverändert.

Anzeige

Die beiden Einheiten sind reine Anzeigewerte und gehen nicht in die Berechnung ein. Dafür ist allein CalculatedAreaConversionFactor zuständig.

AgeRestrictedProductList

Hält die Texte für die Auswahl der Altersstufen beim Filtern von Produkten mit Altersbeschränkung.
Die Zahl im Parameternamen ist zugleich die Altersstufe. Für einen Eintrag “ab 15 Jahre” schreiben Sie Age15-Txt = ab 15 Jahre. Welche Versandart bei Produkten mit Altersbeschränkung angeboten wird, steuern Sie über den Abschnitt EigenhaendigPlus. Referenz: Abschnitt EigenhaendigPlus

Subscription

Konfiguriert das Abo-Modul, also Lieferintervalle, Wiederholversuche und die vier Benachrichtigungs-E-Mails. Der Abschnitt ist vollständig auf der Wegweiser-Seite zum Abo-Modul beschrieben und hier deshalb nur verlinkt. Wegweiser: Abo-Modul