Formulardaten bei einer Versandinformation hinzufügen

In dieser Beispielanleitung werden die einzelnen Schritte aufgeführt um bei einer Versandoption selbstdefinierte Formulardaten zu hinterlegen und diese dann auch bei den Nachrichtenvorlagen einzufügen.

Diese Anleitung lässt sich auch analog auf das Ziel anwenden bei Zahlungsoptionen selbstdefinierte Nutzereingaben abzufragen. Daher wird an der ein oder anderen Stelle auch auf den Zusammenhang bzgl. Zahlungsoptionen hingewiesen.

Das in dieser Anleitung angestrebte Ziel ist bei der Versandoption „Selbstabholung“ ein Formular zu hinterlegen bei welchem der Shopkunde einen Termin/Datum hinterlegen kann, wann er die Ware vor Ort abholen kann.

1. Schritt: Anlegen eines Formulars für die Nutzereingaben

Im ersten Schritt legen wir uns ein Formular an, welches die gewünschten Eingabefelder hat. Rufen Sie hierzu im Backend über Inhalte -> Formulare den Formulargenerator auf.

1.1.

Legen Sie hier über den Menüpunkt „Neu“ ein neues Formular an.
In Unserem Beispiel mit dem Namen „MERCONIS: Versanddetails Selbstabholung“.

Weitere Einstellungen müssen nicht vorgenommen werden.

1.2.

Jetzt legen wir die einzelnen Eingabefelder an. Wir möchten folgendes erreichen:

  • Dem Kunden eine kurze Information über Abholzeiten mitteilen
  • Dem Kunden die Möglichkeit geben einen Wunschtermin zu hinterlegen.

1.3.

Fügen Sie ein neues Formularfeld vom Feldtyp „Erklärung“ hinzu, in welchem wir die Informationen für die Abholzeiten hinterlegen können.

1.4.

Das nächste Formularfeld welches Sie anlegen ist vom Feldtyp „Textfeld“ und ermöglicht dem Kunden ein Datum mit Uhrzeit zu hinterlegen.

Als Feldnamen vergeben wir in unserem Beispiel den Namen „wunschtermin“ und als Feldbezeichnung tragen wir „Mein Wunschtermin“ ein.
Da wir nicht möchten, dass der Kunde einfach in den Laden kommt und man als Shopbetreiber die Ware noch nicht vorbereitet hat, machen wir noch im Bereich: Feldkonfiguration das Eingabefeld zum Pflichtfeld.

1.5.

Das letzte Formularfeld welches benötigt wird ist vom Feldtyp „Absenden“. Tragen Sie hier eine gewünschte Bezeichnung der Absende-Schaltfläche ein.

In unserem Beispiel steht hier „Wunschtermin speichern“.

2. Schritt: Einrichten der Verknüpfung zwischen Formular und Versandoption

Damit das soeben angelegte Formular bei der gewünschten Versandoption im Warenkorb angezeigt wird, muss dieses dort hinterlegt werden.

In unserem Beispiel möchten wir ja, dass die Eingabe eine Wunschtermins zur Abholung bei der Versandoption Selbstabholung angezeigt wird.
Gehen Sie hierzu im Backend im Modul „MERCONIS – SHOP“ auf den Menüpunkt „Versandoptionen“ und rufen den Generator für die Versandoptionen auf.

Wenn Sie den Merconis-Installer für die Grundeinrichtung verwendet haben, ist hier bereits eine Versandoption „Selbstabholung“ vorhanden.

2.1.

Öffnen Sie hier über den Bearbeitungsstift die Einstellungen der Versandoption.

2.2.

Im Bereich: Art der Versandoption bei der Auswahl „Formular für Kundeneingaben“ können Sie jetzt das zuvor angelegte Formular auswählen.

In unserem Beispiel ist es das „MERCONIS: Versanddetails Selbstabholung“ Formular.

2.3.

Jetzt sollten Sie im Frontend im Warenkorb folgende Ausgabe sehen:

2.4.

Geben Sie jetzt im Feld „Mein Wunschtermin“ einen Termin ein und bestätigen die Eingabe mit „Wunschtermin speichern“.

Der Kunde hat, solang er die Bestellung noch nicht abgeschlossen hat, die Möglichkeit über den Button „Versanddetails bearbeiten“ die Möglichkeit den Wunschtermin zu ändern.

3. Schritt: Standardausgabe anpassen

Wenn Sie jetzt eine Testbestellung durchführen wird sich vermutlich folgendes Bild beim „Zusammenfassung & Abschluss Ihrer Bestellung“ zeigen:
Es wird zwar der vom Kunde eingegebene Wert angezeigt aber nicht die Feldbezeichnung.
Da wir unseren Onlinshopsystem Merconis auf größtmögliche Flexibilität ausgerichtet haben, müssen wir noch in der Sprachdatei hinterlegt, wie diese Eingabe in den weiteren Schritten benannt werden soll.

In unserem Beispiel möchten wir in den weiteren Schritten nicht mehr von „Mein Wunschtermin“ sprechen sondern von „Ihrem Wunschtermin“, da ja die Bestätigung im Checkout und die Bestellbestätigung per E-Mail vom Shopbetreiber kommen und „Mein Wunschtermin“ unpassend wäre.

3.1.

Öffnen Sie hierzu folgende Datei default.php, am besten mittels eines Texteditors über FTP.

Sie finden diese Datei im Ordner files/merconisfiles/themes/theme10/languages/de/ wobei der Ordner „theme10“ je nach Themeversion sich unterscheiden kann.
Haben Sie einen mehrsprachigen Online sollten Sie die anderen Sprachdateien im Anschluß auch noch abändern.
Für Englisch finden Sie die Datei default.php im Ordner files/merconisfiles/themes/theme10/languages/en/

Wenn Sie die Datei default.php im Texeditor offen haben, dann fügen Sie bitte folgende Zeile hinzu:
$GLOBALS['TL_LANG']['MSC']['ls_shop']['shippingData']['fieldNames']['wunschtermin'] = 'Ihr Wunschtermin';
Hiermit geben Sie die Anweisung, dass das Eingabefeld mit dem Feldnamen „wunschtermin“ die Feldbezeichnung „Ihr Wunschtermin“ erhält.

Achtung

Diese Zuweisung/Übersetzung gilt nur für die Ausgabe des Wertes in Templates und Nachrichtenvorlagen. Wenn das Formular selbst angezeigt wird, wird die Feldbezeichung verwendet die wir im Formulargenerator angegeben haben.

3.2.

Wenn Sie jetzt nochmal eine Testbestellung machen und bis zur „Zusammenfassung & Abschluss Ihrer Bestellung“ gehen, sollten Sie folgendes sehen:

4. Schritt (optional): Individuelle Ausgabe in den Nachrichtenvorlagen und Frontendausgaben

Wenn Sie jetzt an einer beliebigen Stelle den Wert ausgeben möchten, können Sie hierzu die MERCONIS-Platzhalter nutzen.

Da es sich um Daten aus dem Bereich Versandoptionen handelt beginnt der Platzhalter wie folgt:
##shippingData::
und um explizit den Wert vom Wunschtermin abzufragen, einfach den Platzhalter um den Feldnamen aus dem Contao Formulargenerator ergänzen. Der gesamte Platzhalter sieht dann wie folgt aus:
##shippingData::wunschtermin##

So könnte man z.B. folgenden Text in einer Nachrichtenvorlage verwenden:
„Gerne bestätigen wir Ihnen den Abholtermin am ##shippingData::wunschtermin##. Ihre Ware wird dann zur Abholung bereitliegen.“

Analoge Anwendung für Formulardaten bei Zahlungsoptionen

Der oben beschriebene Ablauf lässt sich fast 1:1 für das Hinzufügen von Formulardaten bei Zahlungsoptionen anwenden.
Daher hier kurz die wesentlichen Unterschiede:

Zu Schritt 1

Keine Unterschied im Anlegen eines Formulars

Zu Schritt 2

Hier verbinden Sie das angelegte Formular mit einer Zahlungsoption.
Gehen Sie hierzu im Backend im Modul „MERCONIS – SHOP“ auf den Menüpunkt „Zahlungsoptionen“ und rufen den Generator für die Zahlungsoptionen auf. Wenn Sie den Merconis-Installer für die Grundeinrichtung verwendet haben, ist hier bereits eine Zahlungsoption „Lastschrift“ vorhanden.

Hier ist im Bereich: Art der Zahlungsoption bei der Auswahl „Formular für Kundeneingaben“ bereits das Formular „MERCONIS: Zahlungsdetails Einzugsermächtigung | Payment details Debt order“ hinterlegt.
Bei neuen oder vorhandenen Zahlungsoptionen können Sie hier das unter Schritt 1 erstellte Formular zuweisen.

Zu Schritt 3

Hier müssen in der gleichen Datei default.php die nachfolgende Anweisung angepasst mit Ihren Daten hinzufügen:
$GLOBALS['TL_LANG']['MSC']['ls_shop']['paymentData']['fieldNames']['mein_feldname'] = 'Meine Feldbezeichnung';

Da es sich hier um ein Formular im Zusammenhang mit Zahlungsoptionen handelt, muss auf „paymentData“ zugegriffen werden und nicht auf „shippingData“ wie bei Formularen, die einer Versandoption zugeordnet sind.

Zu Schritt 4

Wie auch unter Schritt 3 wollen wir auf die Zahlungsdaten zugreifen, daher beginnt der Platzhalter mit:
##paymentData::
um dann auf einen bestimmten Wert aus dem Formular, welches der Zahlungsoption zugeordnet ist, zuzugreifen lautet der Platzhalter wie folgt:
##paymentData::mein_feldname##