

Frage: Ist es möglich in einem TYPO3 TS Formular Daten aus einer Datenbanktabelle zu lesen, um z.B. eine Selectbox damit zu füllen?
Antwort: Ja, es ist mit Hilfe der "data" Eigenschaft des FORM Objekts und etwas TypoScript möglich.
Der einzige (kleine) Nebeneffekt ist, dass die Formelemente die über "dataArray" generiert werden, immer NACH den Felder die über "data" erstellt werden sind.
Darum ist es das beste das ganze Formular über "data" zu generieren.
Wir müssen also einen String generieren der eine solche Form hat:
Haircolor: | haircolor=select| Blue=blue , Red=red , Brown=brown
#[Standard FORM object stuff here..] data.cObject = COA data.cObject { # First we generate the static part of the string. 10 = TEXT 10.value = Haircolor: | haircolor=select | # Daten aus der Datenbank lesen 20 = CONTENT 20 { # Die Tabelle aus der wir die Daten lesen wollen table = tx_mytable select.pidInList = 54 # Hier werden die Label/Value Paare für die Selectbox generiert # des Paar ist durch komma getrennt renderObj = TEXT renderObj.dataWrap = {field:title}={field:uid}, # Jetzt wurd noch das letzte Komma entfert stdWrap.substring = 0,-1 } } #[Standard FORM object stuff here..]
Dieses Snippet wurde von Peter Klein eingesendet




Grüße
Nico
Die Verwendung von COA_INT funktioniert hier leider nicht, da die Inhalte erst in das Formular integriert werden, wenn das Parsen der Formularbeschreibung bereits abgeschlossen ist.
Wie kann man denn zwei solche Objecte erstellen (z.B. einmal Title und einmal Author etc. auslesen)?
gruß
Bernd
label = hier meine Feldbeschriftung
type = [getParameterName]=select
bekommen ich gar nichts Selectfeld-mäßiges angezeigt.
Mit
valueArray.data.cObject { anstatt data.cObject bekommen ich dann wenigstens den letzten Wert meiner Datenbanktabelle - allerdings brauche ich ja alle Werte!
Kann jemand mal ein komplettes, funktionierendes Beispiel posten? Meinetwegen irgendwas aus den static_info_tables als Inhalt? Das wäre super.
Kommentar hinzufügen