Ansehen Formularfelder vorbelegen
Es ist möglich, die Felder eines Mailformulars mit GET-Variablen vorzubelegen. Das muss allerdings mit Hilfe von TypoScript vorbereitet werden.
Folgendes Beispiel geht davon aus, dass das Formular mit der Variablen ?prod=xx aufgerufen wird. xx enthalt die uid eines News-Eintrags. Anhand der übergebenen uid soll das Formular mit dem Titel des News-Eintrags vorbelegt werden.
tt_content.mailform {
# Kann auch an anderer Stelle erfolgen - das Register ist global
15 = LOAD_REGISTER
15 {
# REGISTER hat stdWrap-Eigenschaften, hier cObject
# Dadurch ist es möglich, das Register mit einer Datenbankabfrage zu füllen, was
# hier passiert mit Hilfe von RECORDS
produktname.cObject = RECORDS
# Contentobjekt RECORDS wird aufgerufen
produktname.cObject {
# source: Liste von uid. Mit stdWrap-Eigenschaften.
# data: stdWrap vom Typ getText
source.data = GPvar:prod
# tables: Liste der Tabellen
tables = tt_news
# Mit source und tables wird der Datenbank-Inhalt abgefragt.
# Dieser Inhalt muss jetzt noch gerendert werden.
# conf.[Tabelle]: Configarray zum Rendern des Inhalts (cObject)
conf.tt_news = TEXT
conf.tt_news {
field = title
}
}
}
}
# Nötig, damit der die Variable auch wirklich ersetzt wird
tt_content.mailform.20.data.insertData = 1
# Cache muss deaktiviert sein
config.no_cache = 1
Im Formular kann so auf den Wert zugegriffen werden:
Name: | *Name=input,40
Firma: | Firma=input,40
Straße: | Strasse=input,40
PLZ/Ort: | Ort=input,40
Telefon: | Telefon=input,40
E-Mail: | *email=input,40 | | EMAIL
Produkt: | Produkt = input,40 | {register:produktname}
Ihre Nachricht: | Mitteilung=textarea,40,8