Contao & mailworx Formulare verknüpfen

Contao ist ein Open Source Content Management System (CMS), welches durch seine einfache Wartung und Handhabung besticht. In Contao ist es leicht Formulare in die Webseite zu integrieren und diese anzupassen, mittels des integrierten Formulargenerators.

Contao Formular erweitern

Um Contao Formulare nach dem Absenden an mailworx zu übertragen ist es notwendig die Formulare in Contao zu erweitern. Nachfolgend finden Sie die nötigen Schritte um dies zu bewerkstelligen:

Überschreiben Sie die Datei form.html5, um den notwendigen Code hinzuzufügen.

Dazu wechseln Sie zum Punkt Templates im Hauptnavigationspunkt Layout.

Anschließend erstellen Sie ein neues Template mittels der gleichnamigen Schaltfläche.
Neues Template

Wählen Sie als Originaltemplate die Datei form.html5 aus und klicken auf die Schaltfläche "Template erstellen". Nun wurde eine Kopie der Originaldatei erstellt und wird zukünftig von allen Formularen verwendet.

Sie müssen nun die Datei form.html5, die wir kopiert haben bearbeiten. Dies können Sie direkt im Punkt Templates machen oder sich die Datei per FTP von Ihrem Server laden um die Datei lokal zu bearbeiten.

Fügen Sie am Anfang der Datei folgenden Code ein:

<?php 
	$isMailworxForm = false;
	$mailworxForm = '';
	// if the id of the form is a guid, then it is a mailworx form and the form will be submited to mailworx
	if (preg_match('/^\{?[a-zA-Z0-9]{8}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{12}\}?$/', $this->formID)) {
		// modify action of the form
		$mailworxForm = 'http://sys.mailworx.info/sys/form_submit.aspx?frm='.$this->formID;
		$isMailworxForm = true;
	}
 ?>

Der Code wird verwendet um den Wert der Formular ID, welche bei jedem Formular individuell gesetzt werden kann, um die ID des mailworx Fórmulars auszulesen und den Request direkt an mailworx zu senden.

Tauschen Sie nun die Zeile mit dem form Start Tag gegen folgenden Code aus. Dies ist erforderlich, da Contao nicht an eine externe Adresse sendet.

<form<?php if($isMailworxForm): ?> action="<?php echo $mailworxForm; ?>"<?php else: ?><?php if ($this->action): ?> action="<?php echo $this->action; ?>"<?php endif; ?><?php endif; ?> id="<?php echo $this->formId; ?>" method="<?php echo $this->method; ?>" enctype="<?php echo $this->enctype; ?>"<?php echo $this->attributes; ?><?php echo $this->novalidate; ?>>

Nachdem Sie die Datei gespeichert und/oder hochgeladen haben ist der Umbau in Contao erledigt.

Contao Formular konfigurieren

Erstellen Sie nun ein neues Formular in Contao über den Punkt Formulargenerator im Hauptnavigationpunkt Layout.

Vergeben Sie einen beliebigen Titel für das Formular um es später wiederzufinden und tragen Sie die ID des mailworx Formulars in das Feld ID im Contao Formular ein.

Contao Formular ID

Die ID des mailworx Formulars finden Sie im entsprechenden Formular im Karteireiter Einbinden.

 

Nachdem das Formular in Contao erstellt und mit dem mailworx Formular verknüpft wurde müssen die Felder in mailworx ebenfalls in Contao erstellt werden.

Hierbei ist zu achten, dass beide Felder denselben internen Namen aufweisen.

Leider sind nicht alle verfügbaren Feldtypen mit mailworx kompatibel.

Wir empfehlen Ihnen die Felder Textfeld, Textarea, Select-Menü, Checkbox-Menü, Verstecktes Feld und Absendefeld zu verwenden.