Zum Inhalt springen

tt_content.textpic.20 durch CASE ersetzen

Erstellt am 27. April 2010 · 3 Antworten · letzte Antwort am 9. September 2014

Tags: Inhaltselemente, Frage

Bluespuke ·

Der Titel ist Programm. Eigentlich ganz einfach, oder? NOT!

Oder ich sitz auf der Leitung. Hier mein Typoscript:

temp.image < tt_content.textpic.20
tt_content.textpic.20 >
/*
tt_content.textpic.20 = TEXT
tt_content.textpic.20.field = section_frame
*/
tt_content.textpic.20 = CASE
tt_content.textpic.20{
  field = section_frame
  
  default < temp.image
  
  0 < temp.image
 
  100 < temp.image
  100.1.file.width = 300c
  100.1.file.height = 450c
}

Es wird immer 'default' verwendet, wenn ich default entferne, passiert gar nix mehr mit den Inhalten. Wenn ich das auskommentierte verwende, erhalte ich auch sauber 0 und 100, je nach zugewiesenem Rahmen.

Warum schafft es TYPO3 dann nicht die 100 mit der 100 zu vergleichen? Oder muss ich etwa typecasten?

Ich danke im Vorraus für Hinweise! 🙂

Bluespuke ·

*doh*

Einmal drüber schlafen und dann nochmal in die Referenz geschaut...

Fehler lag in der 8. Linie: es müsste key.field und nicht field heißen...

temp.image < tt_content.textpic.20
tt_content.textpic.20 >
/*
tt_content.textpic.20 = TEXT
tt_content.textpic.20.field = section_frame
*/
tt_content.textpic.20 = CASE
tt_content.textpic.20{
  key.field = section_frame
  
  default < temp.image
  
  0 < temp.image
 
  100 < temp.image
  100.1.file.width = 300c
  100.1.file.height = 450c
}
dachande ·

Dieses Problem tut sich gerade wieder bei mir auf, allerdings in der aktuellen TYPO3 6.1.5
Ich ging eigentlich davon aus, dass dieser Code auch dort funktioniert (denn nachvollziehbar ist er).

Aber wie es bei TypoScript oftmals der Fall ist, funktioniert es leider nicht.

Hier der Code für meine Variante:

temp.tt_content_textpic < tt_content.textpic.20

tt_content.textpic.20 >
tt_content.textpic.20 = CASE
tt_content.textpic.20 {
    key.field = section_frame
    default < temp.tt_content_textpic

    105 < .default
    105 {
        1.file.width.field >
        1.file.width.override = 300c
        1.file.height.override = 300c
    }

    106 < .105
    106.1.file.width.override = 620c

    107 < .105
    107.1.file.width.override = 940c
}

Folgende Problematik ergibt sich dabei:

Das Bild des Content-Elements wird sauber gerendert. Auf die Bildgrößen für die verschienenen Section-Frame Werte werden korrekt gesetzt. Allerdings wird der komplette Bodytext-Part des Content-Elements nicht gerendert.
Schaue ich mir tt_content.textpic.20 im TypoScript Object-Browser an, sieht das Objekt soweit gut aus. Was könnte noch das Problem hier an der Stelle sein?

Ich habe ebenfalls schon probiert, tt_content.image.20 sowie das komplette COA tt_content.image über diese Art in ein CASE zu verwandeln. Bei allen Variationen tritt das gleiche Problem auf. Das Bild wird korrekt gerendert, der Text allerdings nicht.

Hat hierzu jemand eine Idee? Bin leider bei meiner Google Suche bisher noch nicht fündig geworden. Alles was ich bisher gefunden habe, sind zig Varianten der oben beschriebenen Lösung, die aber allesamt in TYPO3 6.1.5 nicht zu funktionieren scheinen.

Ich Danke Euch schonmal für alle Ideen, die mir eventuell weiterhelfen könnten. 🙂

patriq ·

Hallo,

hatte das gleiche Problem. Falls es jemand gelöst braucht, so hat es bei mir funktioniert.

Laut der entsprechenden setups für tt_content muss noch der Textteil des ursprünglichen Elements auf die entsprechende CASE-Ebene nachgezogen werden. Hier auf Basis der 6.2, sollte aber bei 6.1 identisch sein.
Hier für default:

temp.txtpart<tt_content.image.20.text
tt_content.textpic.20<tt_content.image.20
tt_content.textpic.20.default.text<temp.txtpart

Patrick