powermail Trickkiste Teil 2 – Felder vorbelegen
In Tipp 2 zeige ich ein paar Beispiele, wie sich Felder in powermail einfach vorbelegen lassen. Kein Thema mit einen GET Parameter oder über TypoScript…
Tipp 2 – Ein Feld in powermail mit einem beliebigen Wert vorbelegen
Vielleicht möchte man ein sichtbares Feld oder ein unsichtbares Feld mit einem Wert vorbelegen. Beliebte unsichtbare Werte sind Land, Browsersprache, Google-Suchbegriff, IP-Adresse, Formularseite, Uhrzeit oder Referer. Beliebte sichtbare Werte befinden sich oft in einem Dropdown Feld – hier möchte man Ort oder Zeit bereits vorselektieren. Eine andere Anwendung kann ein Vorformular sein: In einem vorgeschalteten Formular wird ein Feld oder ein paar Felder abgefragt und diese Werte sind dann Teil eines weiteren Formulares (Beispiel ist eine Rückrufanfrage).
Nachfolgend ein paar Beispiele wie sich Hidden- und Textfields einfach füllen lassen.
Vorfüllen über einen GET Parameter:
1. Dropdown (Select)

Hinweis: Um in einem Dropdown einen Wert vorzuselektieruen, muss man einen genau passenden, zur Verfügung stehenden, Value vorgeben. In unserem Fall ist das “TYPO3 Extension powermail”.
2. Input
index.php?id=1&tx_powermail_pi1[uid12]=Hallo

Hinweis: Einige Zeichen werden aus Sicherheitsgründen nicht unterstützt.
3. Checkbox
index.php?id=1&tx_powermail_pi1[uid13][0]=1

Hinweis: Da Checkboxen etwas anders funktionieren als die meisten anderen Felder, muss man noch einen Index anhängen – In oberem Beispiel 0. Auch bei Checkboxen muss man den Value wiederverwenden.
Vorfüllen mit TypoScript:
Durch eine Vorbelegung mit TypoScript gibt es kaum noch Grenzen. Statische Werte, GET und POST Parameter und userFuncs können verwendet werden. Nachfolgend ein paar Beispiele.
plugin.tx_powermail_pi1 {prefill {
# Fülle Feld 1 mit statischem Wert
uid1 = TEXT
uid1.value = blabla
# Fülle Feld 2 mit aktuellem timestamp
uid2 = TEXT
uid2.data = date:U
# Feld 3 mit Datum
uid3 = TEXT
uid3.data = date:U
uid3.strftime = Datum: %d.%m.%Y
# Feld 4 mit IP Adresse
uid4 = TEXT
uid4.data = getIndpEnv:REMOTE_ADDR
# Feld 5 und 6 mit Wert aus aktueller URL
# index.php?id=123&wert=Ort
uid5 = TEXT
uid5.data = GP:wert
uid5.htmlSpecialChars = 1
# index.php?id=123&tx_ttnews[tt_news]=95
uid5 = TEXT
uid5.data = GP:tx_ttnews|tt_news
uid5.wrap = Wir befinden uns auf der Newsdetailseite mit der UID|
uid5.intval = 1
}
}
Hinweis:
1. Im Beispiel 4 und 5 werden Benutzerdefinierte Werte (GET oder POST) verwendet. Hier ist ein Absichern gegen XSS unabdingbar. Mit intval oder htmlSpecialChars lassen sich Werte innerhalb von TypoScript leicht absichern.
2. Falls ein Wert eines Feldes in der Session liegt, hat dieser Vorrang.
3. Ein Selectfeld wird automatisch vorselektiert wenn der vorgegebene Wert auch zur Auswahl steht
Links zum Thema:
Wie immer freue ich mich über jeden Kommentar
Gruß, Alex
------------------------------------------------------
Dies ist ein Post vom TYPO3 Blog typo3blogger.de!





