Diese Seite beschreibt beide, beginnend mit dem einfacheren.
Geht es Ihnen um Texteingaben zum Produkt selbst, beispielsweise eine Beflockung, gehören diese auf die Produktdetailansicht und nicht in den Warenkorb.
Teil 1: Freie Textfelder je Warenkorbposition
Je Position stehen zwanzig Felder zur Verfügung, jedes mit bis zu 4048 Zeichen. Der Käufer kann sie im Bestellablauf jederzeit ändern.Schritt 1: Freischaltung
Eine Freischaltung durch WEBSALE ist nicht erforderlich.Schritt 2: Zeichen aus den Eingaben entfernen
Optional, aber empfehlenswert. Tragen Sie alle Zeichen ein, die der Shop aus den Eingaben entfernen soll.Schritt 3: Eingabefelder auf der Warenkorbseite einbauen
Die Felder gehören aufws_basket.htm innerhalb der Positionsschleife. Zu jedem Feld gehören zwei Tags: eines liefert den Feldnamen, das andere den bereits gespeicherten Wert.
Schritt 4: Inhalte auf anderen Seiten ausgeben
Die Werte stehen auf allen Seiten zur Verfügung, die Warenkorbdaten enthalten, beispielsweise auf der Bestellübersicht (ws_place_order.htm). Dort brauchen Sie kein Eingabefeld mehr, sondern nur die Ausgabe.
Teil 2: BasketProductOptions
Der zweite Weg kann deutlich mehr und kostet entsprechend mehr Einrichtung. Sie definieren Eingabefelder und Checkboxen in dershop.config, hängen optional Zusatzkosten daran, machen ihr Erscheinen von Bedingungen abhängig und lassen die Eingaben prüfen.
Wo die Felder erscheinen
Das entscheidet der ParameterLevelOfUsage.
Schritt 1: Freischaltung
Eine Freischaltung durch WEBSALE ist nicht erforderlich.Schritt 2: Felder und Kosten konfigurieren
Das folgende Beispiel definiert je Warenkorbposition ein Eingabefeld und eine Checkbox. Ein ausgefülltes Eingabefeld kostet 5 Euro, eine angehakte Checkbox 2 Euro.Proof = BasketProductOptionInputID mit Type = filled koppelt die Kosten an die tatsächliche Eingabe. Im Beispiel oben ist das bei beiden Kostensätzen so gemacht.
Referenz: Abschnitt BasketProductOptions
Schritt 3: Sichtbarkeit an Bedingungen knüpfen
Optional. Sollen die Felder nur bei bestimmten Produkten, ab einem Bestellwert oder nur bei Split-Order erscheinen, ergänzen Sie innerhalb von<+BasketProductOption> einen Abschnitt <Requirements>.
Schritt 4: Eingaben prüfen
Ebenfalls optional. Eine Prüfung definieren Sie einmal in<GenericInputChecks> und weisen sie über ihre ID im Parameter +UseGenericInputCheck des jeweiligen <+Input> zu.
Schritt 5: Fehlermeldung hinterlegen
Schritt 6: Der Feldblock
Dieser Block ist in allen Integrationsvarianten derselbe. Er durchläuft die Felder, unterscheidet Eingabefeld und Checkbox, zeigt eine Fehlermeldung je Feld und listet die zugehörigen Kosten auf._hidden sagt ihm, dass die Checkbox angezeigt wurde.
Zu den Kosten gibt es weitere Tags, falls Sie mehr ausgeben wollen als Name und Summe:
BPO-Costs lässt sich mit einer Kosten-ID als Parameter einschränken, beispielsweise {BPO-Costs(BPO-Cost-ID-1)}. Damit greifen Sie einen bestimmten Kostensatz heraus, statt alle zu durchlaufen. Als Einzeltag gibt ~BPO-Costs~ die Anzahl der Kostensätze aus.
Schritt 7: Den Block an der richtigen Stelle einbauen
Wo der Block hingehört, hängt vonLevelOfUsage ab. Die Klammerung mit BPO-LevelOfUsage_… muss dabei zum gewählten Wert passen.
Einmal pro Bestellung (UseOnce)
Auf der Warenkorbseite, außerhalb der Positionsschleife.Je Warenkorbposition, auf der Produktdetailansicht
Innerhalb des Produktformulars. Eine Schaltfläche zum Speichern brauchen Sie hier nicht, denn alle Eingaben innerhalb vonFORM-Product wandern beim Ablegen automatisch in den Warenkorb.
Je Warenkorbposition, auf der Warenkorbseite
Innerhalb der Positionsschleife.Je Lieferadresse bei Split-Order
Auf der Bestellübersichtsseite. Diese Variante setzt voraus, dass die Aufteilung einer Warenkorbposition auf mehrere Lieferadressen aktiv ist. Die Felder erscheinen, sobald der Käufer auf der Adressseite „An mehrere Adressen liefern” gewählt hat. Der Feldblock gehört hier an zwei Stellen, weil die Bestellübersicht aufgeteilte und nicht aufgeteilte Positionen in getrennten Bereichen ausgibt.Schritt 8: Gesamtkosten ausgeben
Schritt 9: Eingegebene Werte ausgeben
Für die reine Anzeige, beispielsweise auf der Bestellübersicht, reicht der Wert ohne Eingabefeld. Ob der Block inner- oder außerhalb der Positionsschleife steht, richtet sich nachLevelOfUsage.
Schritt 10: Testmodus beenden
SolangeTest = yes gesetzt ist, läuft die Funktion im Testbetrieb. Nach erfolgreichem Test stellen Sie den Parameter im Abschnitt <+BasketProductOption> auf no.
Die BPO-Tags im Überblick
Verwandte Themen
- Wegweiser: Texteingabefelder zum Produkt, für Eingaben auf der Produktdetailansicht
- Wegweiser: Warenkorb anzeigen und löschen
- Wegweiser: Eine Warenkorbposition aufteilen und an mehrere Lieferadressen senden (Split-Order)
- Wegweiser: Freie Produktfelder im Warenkorb anzeigen, für Angaben aus dem Produktstamm
