Zum Inhalt springen

Typoscript Objekte dynamisch erzeugen?

Erstellt am 26. März 2012 · 2 Antworten · letzte Antwort am 27. März 2012

Tags: Frage

maxhb ·

Hallo,
kann man eigentlich TS-Objekte dynamisch erzeugen? Es geht mir darum, dass ich eine Objekthierarchie benötige, die etwa folgendermaßen aussieht:

lib.test = COA
lib.test {
  10 = TEXT
  10 {
    value = some value 10
    label = some label 10
  }
  20 = TEXT
  20 {
    value = some value 20
    label = some label 20
  }
  ...
}

Die einzelnen Einträge sollen dabei aus einer DB-Tabelle kommen, so dass ich im Prinzip etwa folgendes suche (was nicht funktioniert):

lib.renderer = CONTENT
lib.renderer {
   table = tt_content
    select {      
        pidInList = this
        selectFields = title
    }
    renderObj = COA
    renderObj {           
        10 = LOAD_REGISTER
        10 {
            Counter.cObject = TEXT
            Counter.cObject.data = register:Counter
            Counter.cObject.wrap = |+1
            Counter.prioriCalc = intval
        }    
        // Das funktioniert so nicht !!!
        lib.test.{register:Counter} = TEXT
        lib.test.{register:Counter} {
          value = some value
          label = some label
        }
    }
}

Hat jemand eine Idee?

CU
maxhb

igorshmigor ·

Was hast Du denn vor? Vielleicht lässt es sich auch anders lösen.
Wenn das COA von lib.test am Ende eh nur mit dem renderObj von CONTENT aus lib.renderer gefüllt wird, dann kannst Du doch lib.test von vornherein als CONTENT-Objekt definieren.
Also z.B.

lib.test = CONTENT
lib.test {
   table = tt_content
    select {      
        pidInList = this
        selectFields = title
    }
    renderObj = COA
    renderObj {           
        10 = TEXT
        10 {
          value = some value
          label = some label # was ist label überhaupt für eine Eigenschaft, TEXT hat doch gar kein label. 
        }
    }
}
maxhb ·

Hallo igorshmigor,
erstmal danke für Dein Feedback.

igorshmigor schrieb

Was hast Du denn vor? Vielleicht lässt es sich auch anders lösen.
Wenn das COA von lib.test am Ende eh nur mit dem renderObj von CONTENT aus lib.renderer gefüllt wird, dann kannst Du doch lib.test von vornherein als CONTENT-Objekt definieren.

Konkret geht es darum, ein mit "ameos formidable" erstelltest Formular dynamisch zu erweitern. Dazu wird diese komische Objekthierarchie mit den "label" und "value" Attributen benötigt, die aber an einer ganz bestimmten Stelle in den TS-Objektbaum zu integrieren ist. Leider kann man deswegen auch den von Dir vorgeschlagenen Ansatz nicht verwenden, da man zwingend die zuerst in meinem Posting gezeigte Struktur benötigt.

Allerdings sind in der Tat die Unterobjekte 10,20,30, etc. keine TEXT-Objekte (sorry, mein Fehler), die Biester sind einfach typenlos. Ich würde nun gern aus einer DB-Tabelle per TS Einträge in die ameos Struktur einbringen, um so dynamisch eine Select-Box zu erzeugen, was leider grandios scheitert...

CU
maxhb