Ich werde oft nach der einen oder anderen Individualisierung eines powermail Formulares gefragt und möchte hier ein paar Tipps aufschreiben. Zum einen habe ich diese dann selber griffbereit und zum anderen kann diese sicher auch jemand anderes gut benötigen.
Im Teil 1 geht es um das Wiederverwenden der vom User eingegebenen Daten. Über TypoScript oder PHP kein Problem…
Teil 1 – Daten aus einem Formular an beliebiger Stelle anzeigen
Erklärung
Sobald ein powermail Formular abgesendet wurde (egal ob mit aktivierter oder deaktivierter Bestätigungsseite), werden die Daten in der Session hinterlegt. Über php oder über TypoScript kommt man nun ganz einfach an diese Daten heran. Im nachfolgenden Beispiel wollen wir an den Wert des Feldes mit der UID 123 herankommen. In dem Zusammenhang nehmen wir an, dass das powermail Formular im Seiteninhalt (Contentelement) mit der UID 45 liegt.
Beispiel TypoScript:
daten = TEXT daten.data = TSFE:fe_user|sesData|powermail_45|uid123 |
Beispiel PHP:
$value = $GLOBALS['TSFE']->fe_user->sesData['powermail_45']['uid123']; |
Anwendungsfall:
Die Anzeige der eingegebenen Daten kann z.B. interessant in einer Druckversion sein. Auf einer neuen Seite wollen wir lediglich eine weiße Ausgabe mit den Daten aus dem Formular. Das Ganze könnte so aussehen:
lib.form = COA lib.form { 10 = TEXT 10.noTrimWrap = |Vorname: |<br />| 10.data = TSFE:fe_user|sesData|powermail_45|uid1 10.if.isTrue.data = TSFE:fe_user|sesData|powermail_45|uid1 20 = TEXT 20.noTrimWrap = |Nachname: |<br />| 20.data = TSFE:fe_user|sesData|powermail_45|uid2 20.if.isTrue.data = TSFE:fe_user|sesData|powermail_45|uid2 } page > page = PAGE page.10 < lib.form |
Hinweis:
Wenn die Konstante clear.session in powermail aktiviert ist, wird die Session nach dem Absenden geleert. In diesem Fall kann man die Daten in der Regel über data=GP:tx_powermail_pi1|123 auslesen.
TYPO3 Erweiterung powermail
Die TYPO3 Erweiterung powermail ist eine umfangreiche Formularextension. Im Vergleich zu ähnlichen Plugins besteht der Unterschied vor allem darin, dass der Redakteur ein Formular erstellen und ändern können soll.
Wie immer freue ich mich übrigens über jeden Kommentar!
Gruß, Alex