Zum Hauptinhalt springen
Ein Händler stellt seinem eigenen Kunden ein Angebot. Statt es von Hand zu schreiben, legt er die Produkte in seinen Warenkorb, ergänzt ein paar Angaben und bekommt ein fertiges PDF. Technisch ist das kein eigenes Modul, sondern die PDF-Anzeige des Warenkorbs mit einem vorgeschalteten Formular. Die Eingaben aus diesem Formular reisen als freie Parameter mit und entscheiden im PDF-Template, was dort erscheint. Hmfile Hash Daa87156 Hmfile Hash 4ec06bae

Die Bausteine

Wegweiser: PDF-Anzeige des Warenkorbs · Referenz: WS-OTPX Die freien Parameter heißen im Formular klein und ohne Präfix, beispielsweise otpoffernumber, und im Template WS-OTPoffernumber. Es ist derselbe Wert. Die Namen hinter otp wählen Sie frei.

Schritt 1: Das Formular

Auf einer beliebigen Seite, nahe liegend auf der Warenkorbseite ws_basket.htm:
otpofferbasket ist der Schalter, an dem das PDF-Template erkennt, dass ein Angebot und kein gewöhnliches Warenkorb-PDF gewünscht ist. Die Klammerung {A-Suffix1} blendet das Kästchen für das Logo aus, wenn für diesen Kunden keines hinterlegt ist. Ein Kästchen ohne Wirkung wäre verwirrend.
Postleitzahl, Aufschlag und Menge stehen in der bisherigen Beschreibung als type="tel". Das ist die Eingabeart für Telefonnummern und erlaubt beliebige Zeichen. Für Zahlen gehört type="number" hin, für die Postleitzahl type="text" mit inputmode="numeric", weil Postleitzahlen führende Nullen haben können.
Die Adressfelder tragen autocomplete="off". Der Händler trägt hier die Daten seines Kunden ein, nicht seine eigenen. Ohne diese Angabe schlägt der Browser seine eigene Adresse vor. Referenz: FORM-Basket · BT-GeneratePDF · A-Suffix1…50 · A-Country_data

Schritt 2: Das PDF-Template

Legen Sie das Template an, wie es die Seite zur PDF-Anzeige des Warenkorbs beschreibt. Der Rahmen sieht so aus:
Jeder Wert steht in seiner eigenen Klammerung. Dadurch erscheint eine Zeile nur, wenn der Händler sie ausgefüllt hat, und das Angebot enthält keine leeren Beschriftungen.
Der Dateiname des Logos stammt aus einem Adressdatenfeld, das der Kunde selbst pflegen kann, und landet ungeprüft im Pfad des Bildes. Beschränken Sie das Feld auf eine Auswahlliste hinterlegter Logos oder prüfen Sie den Wert im Template gegen eine Liste zugelassener Dateinamen.

Die Positionen und die Rechnung

Das _set(0) steht innerhalb von {BASKET-PR-Data}, aber außerhalb der Schleife {@BASKET-PR-Data}. Stünde es in der Schleife, würde die Summe bei jeder Position auf null zurückfallen und am Ende nur die letzte Position enthalten.
Der Aufschlag greift in der bisherigen Beschreibung nur bei den Warenkorbpositionen, nicht bei der eigenen Position. Trägt der Händler einen Aufschlag und eine eigene Position ein, wird diese eine Zeile ohne Aufschlag berechnet, die übrigen mit.Wenden Sie ~DC-CommercialCalc1_VATadd($WS-OTPpricecalculation$)~ auch auf die eigene Position an, oder sagen Sie im Formular ausdrücklich, dass der Aufschlag für sie nicht gilt.Der Mehrwertsteuersatz ist im Beispiel fest auf 19 Prozent verdrahtet.Ein Angebot ist ein kaufmännisches Dokument. Produkte mit ermäßigtem Steuersatz, Lieferungen ins Ausland und steuerfreie Leistungen führen damit zu einem falschen Betrag. Verwenden Sie den tatsächlichen Steuersatz aus dem Warenkorb, und weisen Sie die Steuer getrennt je Satz aus, wenn Ihr Sortiment mehrere enthält.
_VATadd() heißt so, weil es ursprünglich für die Mehrwertsteuer gedacht war. Rechnerisch schlägt es einen Prozentsatz auf, deshalb eignet es sich auch für den Aufschlag. Wenn Sie den Unterschied im Template deutlich machen wollen, verwenden Sie für den Aufschlag stattdessen _percent() und _add(). Referenz: BASKET-PR-Data · DC-CommercialCalc1…3 · WS-CurrencySymbol

Was Sie beachten sollten

Das erzeugte PDF ist ein Angebot des Händlers an seinen Kunden, nicht eines Ihres Shops. Pflichtangaben, Gültigkeitsdauer, Lieferbedingungen und Steuerhinweise verantwortet der Händler. Halten Sie Ihr eigenes Impressum und Ihre Konditionen aus dem Dokument heraus, sonst entsteht der Eindruck, der Shop sei der Anbietende.
Die eingegebene Kundenadresse wird nur für dieses eine PDF verwendet und nicht gespeichert. Das ist der Sinn freier Parameter: Sie gelten für einen Aufruf. Ändert sich der Warenkorb, ändert sich auch das Angebot. Ein einmal erzeugtes PDF bleibt dagegen, wie es ist. Weisen Sie den Händler darauf hin, dass er die Datei sichern soll, wenn er sie weitergibt.

Verwandte Themen