Maximale Bildbreite und -höhe abhängig vom Rahmen (section_frame)

Nach langem Befragen von Google und keinem passenden Ergebnis, haben wir nun eine Lösung gefunden, wie man die Bildbreite oder -höhe abhängig vom gewählten Rahmen setzen kann.

Die Lösung über tt_content.image.20.maxW.cObject zu gehen ist in unserem Fall nicht flexibel genug gewesen, da hier nur die Breite und nicht die Höhe angesprochen werden kann.

Als erstes wenn gewünscht eigene Rahmen anlegen.

Setup:

tt_content.stdWrap {
 innerWrap.cObject = CASE
 innerWrap.cObject {
  31 =< tt_content.stdWrap.innerWrap.cObject.default
  31.30.value = ><div class="teaser">|</div></div>
  32 =< tt_content.stdWrap.innerWrap.cObject.default
  32.30.value = ><div class="teaser last">|</div></div>
 }
}

Pageconfig:

TCEFORM.tt_content {
 section_frame.removeItems = 1,5,6,10,11,12,20,21
 section_frame.altLabels.0 = Bitte wählen Sie Ihr Layout
 section_frame.addItems.31 = Teaser
 section_frame.addItems.32 = Teaser rechts
}

Als nächstes müssen wir dem tt_content.image noch sagen, dass es eine maximale Breite und Höhe hat und ggf. abgeschnitten oder skaliert wird. Im Beispiel wird das Bild abgeschnitten.

tt_content.image.20.1.file {
# maximale Breite
 width {
  cObject = CASE
  cObject {
   key.field = section_frame
    31 = TEXT
    31.value = 208c-0 
   }
 }
 # maximale Höhe
 height {
  cObject = CASE
  cObject {
   key.field = section_frame
   31 = TEXT
   31.value = 107c-0 
   }
  }
}

 

Rahmen (section_frame) seit TYPO3 4.3

Seit TYPO3 4.3 hatten sich Meldungen gemehrt, dass sich die Rahmen nicht mehr so problemlos ändern ließen (wohl gemerkt: ändern). Neue Rahmen hinzufügen ging hingegen problemlos, wie gewohnt.

# Funktioniert seit 4.3 *nicht* mehr
tt_content.stdWrap.innerWrap.cObject.1.value = <div class="mein-rahmen"></div>

So stellte sich die Frage, was sich geändert hat, und wie aktuelle der Weg aussehen müsste. Dem bin ich im Zuge einer Forendiskussion nachgegangen.

Weiterlesen»