Formulardaten über Platzhalter bedingt in der E-Mail ausgeben

Die über ein Formular zu verschickende E-Mail können Sie abhängig von den eingetragenen Formulardaten definieren.

Gibt ein Seitenbesucher in einem Formularfeld keinen oder einen bestimmten Text ein, können Sie die Formulardaten über eine Abfrage in der Mail-Vorlage des Formulares ("E-Mail an den definierten Empfänger") entsprechend ausgeben.

Nachfolgendes Beispiel zeigt dies anhand eines Formulares mit dem Feld "Firma (company)" auf. Wenn dies im Formular nicht befüllt wurde, wird das Feld mitsamt Label auch in der E-Mail nicht mitgeliefert.

Ersetzen Sie hierzu den Platzhalter für die gesammelten Formulardaten (also: [!--wFormData--] ) durch einzelne Platzhalter für jedes Formularfeld. Das erreichen Sie am schnellsten über die Schaltfläche "Alle Platzhalter ans Ende der E-Mail Vorlage kopieren". Legen Sie danach in der E-Mail Vorlage die Reihenfolge und Anordnung des Mail-Textes mit diesen Platzhaltern individuell fest. Beachten Sie dabei, daß zwischen dem E-Mail Header und dem Body (Mail-Text) mindestens eine Leerzeile gesetzt ist.

Im E-Mail Text können Sie dann mit if-Abfragen arbeiten, welche z.B. auf leere Formulardaten prüfen können.

Formular mit Feld "Firma"
Formular mit Feld "Firma"
Formular mit bedingter Abfrage in Mailvorlage
Formular mit bedingter Abfrage in Mailvorlage

Das zuvor im Screen ersichtliche Quelltext-Beispiel finden Sie nachfolgend zum Kopieren.

Beispiel: Inhalt der Box "E-Mail an den definierten Empfänger" mit bedingter Ausgabe von Formulardaten

From: [!--from--]
To: [!--to--]
Reply-To: [!--email--]
Content-Type: [!--contentType--]; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Subject: [!--subject--]

Anrede: [!--title--]
[!--#if test="company != ''"--]Firma: [!--company--][!--#endif--]
Vorname: [!--firstname--]
Nachname: [!--lastname--]
E-Mail: [!--email--]
Mitteilung: [!--message--]
Datenschutzhinweis akzeptiert: [!--datenschutz-akzeptiert--]

Gesendet von: [!--wPageURL--]

Ab Weblication® CMS Version 013.004.024.000 können Sie in der Abfrage auch mit regulären Ausdrücken arbeiten.

Syntax:

  • =~ '/xxx/'
    eingetragener Formularwert entspricht dem RegEx
  • !~ '/xxx/'
    eingetragener Formularwert entspricht NICHT dem RegEx

(xxx steht für den von Ihnen festgelegten String bzw. RegEx, auf den zu prüfen ist)

Die Abfrage wird mit dem Operator =~ bzw. !~ gesetzt und der über RegEx zu prüfende String wie bei regulären Ausdrücken üblich mit einem Slash am Anfang und Ende umschlossen. Mit einem i nach dem End-Slash wird z.B. ungeachtet der Groß-/Kleinschreibung geprüft.
Ein Beispiel finden Sie nachfolgend.

Beispiel: Inhalt der Box "E-Mail an den definierten Empfänger" mit bedingter Ausgabe über RegEx von Formulardaten

From: [!--from--]
To: [!--to--]
Reply-To: [!--email--]
Content-Type: [!--contentType--]; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Subject: [!--subject--]

Anrede: [!--title--]
[!--#if test="company =~ '/^Muster/i'"--]Firma: [!--company--][!--#endif--]
Vorname: [!--firstname--]
Nachname: [!--lastname--]
E-Mail: [!--email--]
Mitteilung: [!--message--]
Datenschutzhinweis akzeptiert: [!--datenschutz-akzeptiert--]

Gesendet von: [!--wPageURL--]

Weitere Hinweise

Radiobuttons und Checkboxen

Sofern Sie Werte aus einem Array (z.B. bei Radiobuttons bzw. Checkboxen) abfragen und im Mailtext bedingt ausgeben wollen, müssen Sie dies im Skript vor dem Absenden entsprechend berücksichtigen.

z.B. bei einem Checkbox-Feld mit dem Namen "auswahl" wie folgt:

$mailData['auswahl'] = $mailData['auswahl'][0];

um dann in der Mailvorlage die Bedingung im Fall Wert ist 1 wie folgt zu setzen:

[!--#if test="auswahl = '1'"--]Ihre Auswahl wurde getroffen![!--#endif--]

Vervielfältigbarer Container mit Formularelementen

Sofern Sie in einer aktuellen BASE Werte aus einem vervielfältigbaren Container mit Formularelementen individuell in der E-Mail definieren wollen, müssen Sie die Anzahl der möglichen Eingaben über entsprechende Platzhalter berücksichtigen. Bei einem Formularfeld "child" für die Abfrage der Kindernamen und z.B. höchstens 4 Kindern wie folgt:

Kind: [!--child--]
[!--#if test="child-2 != ''"--]Kind 2: [!--child-2--][!--#endif--]
[!--#if test="child-3 != ''"--]Kind 3: [!--child-3--][!--#endif--]
[!--#if test="child-4 != ''"--]Kind 4: [!--child-4--][!--#endif--]