BASKET-PR-AdditionalUserInput_1…20) wird hier alles in der Shopkonfiguration shop.config im Abschnitt <BasketProductOptions> festgelegt: welche Felder es gibt, wo sie erscheinen, was sie kosten und wie die Eingabe geprüft wird. Die Tags mit dem Präfix BPO- geben diese Konfiguration im Template aus.
Wegweiser: Freie Felder auf Split-Positionsebene · Referenz: Abschnitt <[BasketProductOptions](/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/warenkorb-und-bestellprozess#basketproductoptions)>
Der Aufbau im Template
Alle Tags dieser Gruppe stecken ineinander, und die Reihenfolge der Schachtelung ist vorgegeben.BPO-LevelOfUsage_XXX sorgt dafür, dass der Block nur auf dem dazu passenden Template etwas ausgibt.
Je Shop ist immer nur eine Verwendungsebene aktiv. Sie können also nicht gleichzeitig ein Feld je Bestellung und ein Feld je Warenkorbposition anbieten.
Das vollständige Beispiel
Die Verwendungsebene
Welche der drei Ebenen gilt, legt der ParameterLevelOfUsage im Abschnitt <BasketProductOptions> fest. Jede Ebene hat ihr eigenes Bereichs-Tag und ihren eigenen Platz im Template.
BPO-UseOnce
Klammert bei der EbeneOnce den gesamten Block. Es steht eine Stufe über BPO-Data und ist das einzige Tag dieser Gruppe, das außerhalb der Schleife steht.
BPO-UseOnce gehört aber zur Warenkorbseite und hält den Block aus der Positionsschleife heraus, BPO-LevelOfUsage_Once prüft die Einstellung des einzelnen Felderblocks. Bei den anderen beiden Ebenen entfällt BPO-UseOnce.
BPO-LevelOfUsage_BasketPositionAddress
Greift, wenn die Felder je Lieferadresse innerhalb einer Warenkorbposition gelten. Das setzt die Funktion Split-Order voraus, also das Aufteilen einer Position auf mehrere Lieferadressen. Wegweiser: Eine Warenkorbposition aufteilen und an mehrere Lieferadressen senden · Referenz: BASKET-PR-D-MultiData, BASKET-PR-D-SingleDataDie Schleife über die Felderblöcke
BPO-Data
Schleife über die in<BasketProductOptions> konfigurierten Felderblöcke. Je Durchlauf stehen die Felder und die Kostenberechnungen eines Blocks zur Verfügung.
BPO-UseOnce und BPO-AllCosts_Sum sind nur innerhalb dieser Schleife zulässig. Außerhalb liefern sie nichts, weil ihnen der Bezug zum Felderblock fehlt.
BPO-ID
Gibt den Bezeichner des Felderblocks aus, also den Wert vonBasketProductOptionID aus der Shopkonfiguration.
Die Eingabefelder
BPO-Input
Schleife über die Felder des Blocks. Als Einzel-Tag gibt es die Anzahl der konfigurierten Felder aus.BPO-Input_Type_Input und BPO-Input_Type_Checkbox
Die beiden Bereichs-Tags unterscheiden die Feldart.BPO-Input_Type_Input greift beim Texteingabefeld, BPO-Input_Type_Checkbox bei der Checkbox.
BPO-Input_ID und BPO-Input_input
BPO-Input_ID gibt den Bezeichner des Feldes aus der Shopkonfiguration aus, BPO-Input_input den technischen Feldnamen für das name-Attribut.
BPO-Input_value
Gibt zurück, was der Käufer eingetragen hat. Beim Texteingabefeld ist das der Text, bei der Checkbox der Werton. Als Bereichs-Tag greift es, sobald das Feld ausgefüllt beziehungsweise angehakt ist.
BPO-Data, BPO-Input und BPO-Input_value ohne die LevelOfUsage-Klammerung.
BPO-Input_error
Gibt die Fehlermeldung aus, die in der Shopkonfiguration für die Eingabeprüfung dieses Feldes hinterlegt ist. Als Bereichs-Tag greift es nur, wenn die Prüfung tatsächlich fehlgeschlagen ist.<GenericInputChecks>, verknüpft über den Parameter +UseGenericInputCheck des Feldes. Sie gehört direkt neben das Feld und nicht an den Seitenkopf, sonst sucht der Käufer bei mehreren Feldern das falsche.
Referenz: Abschnitt <[GenericInputChecks](/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/adressen-und-eingabepruefung#genericinputchecks)>
BPO-Input_costs
Gibt die Zusatzkosten aus, die an diesem einen Feld hängen.BPO-Costs_Sum, die Summe über alle Felderblöcke BPO-AllCosts_Sum.
Die Zusatzkosten
Kosten hängen nicht am Feld, sondern am Felderblock. Ein Block kann mehrere Kostenberechnungen haben, und jede Berechnung hat eigene Bedingungen. Deshalb gibt es neben der Feldschleife eine zweite Schleife.BPO-Costs
Schleife über die Kostenberechnungen des Blocks. Als Einzel-Tag gibt es deren Anzahl aus.BPO-Costs_Valid und BPO-Costs_Sum
BPO-Costs_Valid greift, wenn die konfigurierten Bedingungen dieser Kostenberechnung erfüllt sind. BPO-Costs_Sum gibt den berechneten Betrag aus und greift als Bereichs-Tag, wenn ein Betrag anfällt.
{BPO-Costs_Valid} an. Die Schleife läuft über alle konfigurierten Berechnungen, auch über die, deren Bedingungen gerade nicht zutreffen.
BPO-Costs_ID, BPO-Costs_Name und BPO-Costs_Value
Die Art der Berechnung
Drei Bereichs-Tags zeigen an, nach welcher Regel gerechnet wird. Es greift immer genau eines.BPO-Costs_Sum.
BPO-AllCosts_Sum
Gibt die Summe aller Zusatzkosten über sämtliche Felderblöcke aus. Als Bereichs-Tag greift es, wenn überhaupt Kosten anfallen.BPO-Data-Schleife und gehört in den Rechnungsfuß neben Versand und Zahlung. Es ist der einzige Wert dieser Gruppe, der die Bestellsumme sichtbar erklärt.
Die Tags im Überblick
Zulässig sind die Tags auf der Produktdetailansicht (
ws_product.htm), der Warenkorbseite (ws_basket.htm) und der Bestellübersichtsseite (ws_place_order.htm). Mit diesen Ausnahmen:
Alle Tags außer
BPO-UseOnce und BPO-AllCosts_Sum stehen zusätzlich nur innerhalb der BPO-Data-Schleife.
Verwandte Themen
- Wegweiser: Freie Felder auf Split-Positionsebene
- Referenz: Abschnitt
<BasketProductOptions> - Referenz: Abschnitt
<GenericInputChecks> - Referenz: BT-BPO_Refresh
- Referenz: Positionen im Warenkorb
