TYPO3 TypoScript Formular mit Werten aus Datenbanktabelle füllen

Übermittlung Ihrer Stimme...
Bewertungen: 4.5 von 5. 4 Stimme(n).
Klicken Sie auf den Bewertungsbalken, um diesen Artikel zu bewerten.

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



Comments


Nico, 25-03-08 10:55:
Danke für diesen Snippet, er hat mir das Leben gerade sehr erleichtert.

Grüße
Nico
Holger, 04-06-08 09:04:
Nur Schade, daß nach dem initialen Aufruf Änderungen an den Daten (durch die Verwendung von COA) nicht unmittelbar im Formular auftauchen, da die Inhalte gecacht werden - sofern es nicht ausgeschaltet ist.

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.
Bernd, 18-10-08 13:48:
vielen Dank für dieses schöne Bsp.

Wie kann man denn zwei solche Objecte erstellen (z.B. einmal Title und einmal Author etc. auslesen)?

gruß
Bernd
Totok, 27-10-12 01:28:
Great arltcie. Your arltcie has revived my confidence in quality online content. It's gotten harder and harder to find interesting arltcies like yours online. Thank you for writing this arltcie.
Marie, 08-02-13 10:32:
Bei mir funktioniert dieses Beispiel überhaupt nicht. Ohne

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

* - Pflichtfeld

*



*
*

Top 10 Updates

Nützliche Links geändert am  24-Apr-2013 06:31:02
Login geändert am  09-Sep-2010 09:31:35
Schöne Schriften mit Google Font API geändert am  20-May-2010 14:36:59
TS basierte Searchbox für Indexed Search geändert am  18-May-2010 16:26:54
TYPO3 SEO geändert am  30-Apr-2010 07:43:20
Suchmaschinenfreundliche grafische Überschriften in TYPO3 geändert am  30-Apr-2010 07:33:56
Erstellen eines einfachen Infocenters mit TYPO3  geändert am  17-Nov-2009 11:11:22
Funktionierendes Section Menu mit TemplaVoila geändert am  05-May-2009 10:42:40
"Nicht im Menü" in Sitemap anzeigen geändert am  05-May-2009 10:12:24
Implementation des DHTML Menüs von brainjar.com  geändert am  01-Feb-2009 13:01:36

Latest comments

29-Apr-2013 14:34:11
Dierk Hagedorn schrieb: Uff. Besten Dank. Das hat mich gerettet.
Seitentitel ändern
26-Apr-2013 06:36:48
BoBa schrieb: Thank you Rob!
Benutzen des Layout Feldes in tt_content und pages
25-Apr-2013 09:25:28
Oliver Schmid schrieb: Ah.. jetzt gehts, ich hatte die Konstanten im Typoscript Setup eingetragen ;-)
TS basierte Searchbox für Indexed Search
English
Suche: