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 
   }
  }
}

 

5 Antworten to “Maximale Bildbreite und -höhe abhängig vom Rahmen (section_frame)”

  1. avatar

    Hi,

    ziemlich gut dieses Snippet, vielen Dank dafür! Ich habe es eben mal ausprobiert und habe leider ein (hoffentlich kleines) Problem damit.

    Ich verwende ein Backend-Layout mit mehreren Zeilen und Spalten. In einer Seitenspalte möchte ich nun eine kleine Galerie (normale CE´s Typ „Nur Bilder“) einfügen mit quadratischen Thumbnails und diese in einer Lightbox vergrößern.

    In einer anderen Spalte verwende ich auch andere CE´s, z.B. Text & Bild. Das Bild habe ich im Reiter „Erscheinungsbild“ auf eine Breite von 200px (runter)skaliert.

    Sobald ich deinen oben veröffentlichen Code in ein (neues) Extension-Template einfüge, macht er zwar das was er soll (nämlich in meinem CE mit dem gewählten Rahmen die Bilder auf quadratische Thumbnails zu rendern), ABER mein Bild mit den 200px aus dem anderen CE wird plötzlich auf 600px skaliert (das ist glaube ich die Standard-Einstellung von TYPO3).

    Total schade, weil das Snippet wirklich spitzenmäßig ist und ich es gerne verwenden würde.

    Hast du eine Idee dazu?

    Liebe Grüße,
    Kai

  2. niggoledde

    wenn du so extrem verschachtelte Templates hast, solltest du dir die Extension DCE einmal anschauen. Hier kann man sich eigene Inhaltselemente zusammenbauen und so läuft man nicht Gefahr, dass die Standardeinstellungen in die Quere kommen.

    Vielleicht ist das für deinen Fall besser 🙂

  3. avatar

    Hmm …

    Ich glaube eher, dass es doch an der neueren Typo3-Version liegt. Ich habe jetzt festgestellt, dass der erste der drei von dir oben genannten Schritte in Typo3 6.2 nicht funktioniert. Es wird nichts in meinen Quellcode hinein gerendert, wenn ich den Rahmen (31) wähle.

    Ich habe das gegoogelt und bin auf folgendes gestoßen:
    http://stackoverflow.com/questions/25036387/typo3-6-2-content-frames-section-frame

    Hast du eine Idee, wie man deinen Code für Typo3 6.2 anpassen müsste?

    Liebe Grüße,
    Kai

  4. niggoledde

    In unserem Code ist die Lösung aus deinem Link schon enthalten..
    Unser Snippet wurde gebaut um verschiedenen Elementen feste Breiten via das Setup mitzugeben und einem Redakteur nur die section_frames an die Hand zu geben. Ohne die Möglichkeit die Bildbreite noch einmal evtl. händisch zu ändern. Dieser Fall kann auch noch abgefangen werden.

  5. avatar

    Hi & Danke nochmal für deine Antworten.
    Es ist merkwürdig und funktioniert bei mir nicht. Ich habe mir jetzt gedacht, einfach mal einen bereits vorhandenen rahmen zu verwenden. Ich habe „Rahmen 2“ (21) gewählt und in deinem obigen TS aus der 31 einfach eine 21 gemacht. Meine Thumbnails werden nun wieder brav quadratisch skaliert. Wunderbar. Allerdings werden alle anderen Bilder aus anderen CE´s mit festen Pixelgrößen (die vom Typo3 skaliert werden sollen) wieder auf 600px skaliert. Schwer zu sagen, was da los ist.

    Dein Script

    tt_content.stdWrap {
    innerWrap.cObject = CASE
    innerWrap.cObject {
    31 =|
    32 =|
    }
    }

    funktioniert bei mir einfach nicht. Es wird nichts in meinen Quelltext hinein gerendert. Eventuell hängt das in der Tat mit der Verwendung der Backend Layouts zusammen.

    Ich habe nun eine ganz einfache Lösung gefunden, die mein Problem mit wenigen Klicks gelöst hat:
    http://typo3.org/extensions/repository/view/tkcropthumbs

    Danke trotzdem für deine Mühe und vor allem für das Teilen. Vielleicht hilft es dem ein oder anderen.

    Liebe Grüße,
    Kai

Schreibe einen Kommentar