Moderne Webseiten nutzen eine Vielzahl verschiedener Formulare. Formulare helfen bei der Kontaktaufnahme, ermöglichen die Anforderung von Informationsmaterial, nehmen Bestellungen auf etc. Das Enterprise CMS TYPO3 liefert von Haus aus eine Lösung zur Entwicklung von Formularen. Wer möglichst individuelle Formulare anbieten möchte, sollte dennoch auf eine TYPO3-Extension zurückgreifen, die wesentlich mehr Freiheiten lässt. Unser Favorit ist eindeutig Powermail.
Eine Anforderung, die Kunden häufig an uns stellen, ist eine Möglichkeit, die Nutzer wählen zu lassen, ob sie eine Kopie der eingegebenen Daten per E-Mail erhalten möchten, also die klassische „Kopie an mich“. Das lässt sich mit wenigen Zeilen TypoScript leicht einrichten.
Powermail senden eingegebene Daten standardmäßig an den Empfänger und an den Nutzer des Formulars. Um die „Kopie an mich“ optional auswählbar zu machen, muss das Standardverhalten zunächst deaktiviert werden.
plugin.tx_powermail.settings.setup.sender.enable = 0
Das Formular wird mit einer Checkbox, nennen wir sie „mailme“ mit value=yes, ausgestattet. Im TypoScript-Setup können wir nun anhand einer Condition prüfen, ob die Checkbox aktiviert ist und somit die E-Mail an den Nutzer gesendet werden soll.
[globalString = GP:tx_powermail_pi1|field|mailme|0 = yes]
plugin.tx_powermail.settings.setup.sender.enable = 1
[end]
Mit diesen 4 Zeilen TypoScript lässt die optionale „Kopie an mich“ also sehr einfach umsetzen. Allerdings muss man berücksichtigen, dass sich die Konfiguration alle powermail Formulare bezieht. Möchte man die den powermail-Standard nur auf einer Seite ändern, muss man das TypoScript auf diese eine Seite beschränken.
Vor kurzen hatten wir jedoch eine Aufgabe, die sich nicht so einfach lösen lies. Ein Kunde bietet auf seiner Website ein Kontaktformular an, das auf jeder Seite eingebunden ist. Dieses Kontaktformular soll die optionale „Kopie an mich“ anbieten. Gleichzeitig gibt es eine Vielzahl weiterer Formulare für verschiedene Zwecke, bei denen der powermail-Standard angewendet werden soll. Die einfache TypoScript-Lösung ist in diesem Fall also nicht anwendbar. Wir haben uns eine andere Lösung überlegt, die seit dem erfolgreich und zuverlässig funktioniert.
Dem Kontaktformular haben wir um ein verstecktes Feld hinzugefügt.
<input class=“powermail_hidden“ id=“powermail_field_iscontact“ name=“tx_powermail_pi1[field][iscontact]“ value=“1″ type=“hidden“>
Anhand dieses Feldes können wir den powermail-Standard mit Hilfe einer TypoScript-Condition überschreiben und den Versand der E-Mail an den Nutzer zunächst deaktivieren.
[globalString = GP:tx_powermail_pi1|field|iscontact = 1]
plugin.tx_powermail.settings.setup.sender.enable = 0
…
Wurde zusätzlich die Checkbox „Kopie an mich“ ausgewählt, wird der Mailversand wieder aktiviert.
…
[globalString = GP:tx_powermail_pi1|field|iscontact = 1] && [globalString = GP:tx_powermail_pi1|field|mailme|0 = yes]
plugin.tx_powermail.settings.setup.sender.enable = 1
[global]
Durch die Einführung des versteckten Feldes haben wir die Bedingung zum Überschreiben des powermail-Standards mit dem verwendeten Formular verknüpft. Damit können wir Formular mit verschiedenen Konfigurationen für den Mailversand an den Nutzer auf einer Seite kombinieren. Zusätzlich hängt die Konfiguration nicht mehr von dem Bereich der Website ab, auf den das TypoScript-Setup angewendet wird. Sehr schick. 🙂
Wenn auch Sie individuelle Anforderungen an Ihre Formulare haben, freuen wir uns über Ihre Anfrage!