Hilfe! IF in TypoScript für Bildergröße
| Autor | Nachricht |
|---|---|
|
Verfasst am: 24. 05. 2012 [15:54]
|
|
|
salvaracer
Themenersteller
Dabei seit: 12.08.2010
Beiträge: 19
|
Hallo, ich möchte im folgenden TypoScript abfragen, ob die Breite größer ist als die Höhe, bzw. die Höhe größer ist als die Breite. TYPOSCRIPT lib.displayThumbnail = RECORDS lib.displayThumbnail { source.field = uid tables = tt_content dontCheckPid = 1 conf.tt_content = IMAGE conf.tt_content { file.import = uploads/pics/ file.import.field = image file.import.listNum = 0 file.width.field > file.width = 140 file.height = 105c } } Im ersten Fall sollen die Größenangaben dann TYPOSCRIPT ### Wenn Breite größer als Höhe (horizontal) file.width = 140 file.height = 105c sein und sonst TYPOSCRIPT ### Wenn Höhe größer als Breite (vertikal) file.maxW = 140 Ich hab schon stundenlang mit solchen snippets rumprobiert, aber bekomme es einfach nicht hin TYPOSCRIPT # Beispiel file.width.if { value = imagewidth isGreaterThen = imageheight override.field = imagewidth override = 140 override.field = imageheight override = 105c } Kann mit jemand mit dieser IF Sache Helfen? [Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 24.05.2012 um 16:38.] |
|
Verfasst am: 24. 05. 2012 [17:54]
|
|
|
chhe
Dabei seit: 02.03.2006
Beiträge: 108
|
Eine richtig schöne Lösung gibt es für das Problem m.W. nicht, aber mir trocknet hier auch gerade das Hirn ein. Mir fallen dazu 3 Möglichkeiten ein: - Per userFunction ein PHP-Skript einbinden, welches dann die Erfüllung der Bedingung prüft. - Das Bild per GIFBUILDER erzeugen lassen. Darin lädst Du das Originalbild und verarbeitest es dann weiter. Auf die Dimensionen des Bildobjekts 10 könntest Du über 10.w und 10.h zugreifen. - Es gibt TSFE:lastImageInfo|0 und TSFE:lastImageInfo|1. Darin stehen Breite und Höhe des zuletzt erzeugten Bildes. Dummerweise willst Du aber die Maße des gerade in der Bearbeitung befindlichen. Eine Lösung wäre, das Originalbild kurz vorher einmal in ein IMAGE-Objekt einzulesen, dieses aber nicht ausgeben zu lassen. Dann ständen Dir diese Werte zur Verfügung. Nicht schön, aber möglich. I smell blood and an era of prominent madmen. - W.H. Auden
|
|
Verfasst am: 25. 05. 2012 [17:28]
|
|
|
salvaracer
Themenersteller
Dabei seit: 12.08.2010
Beiträge: 19
|
Danke chhe für deine Antwort. Die Idee mit dem PHP-Script per userFunction hört sich gut an! Werde ich am Dienstag nach dem langem Wochenende probieren. Hier habe ich eine kleine Erläuterung zu den Gegebenheiten des Problems: Auf einer Webseite benutze ich eine CROP Extension (tkcropthumbs), mit der die Redakteure im Backend Bildausschnitte für Bilder wählen können. Auf der Startseite z.B. verwende ich eine Teaser Extension (pwteaser), mit der ich Seiten und deren Inhalte anteasern kann. Wenn ein Content Element ein gecroptes Bild hat und ich über das Teaser-Template auf der Startseite das Bild via {content.image.0} ausgebe, bekomme ich das Originalbild. __________________________________________________________________________ Nach langen Suchen und Probieren bekomme ich das gecroppte Bild mit meinem TypoScript. Im FLUID Template rufe ich das TypoScript wie folgt auf: HTML <f:cObject typoscriptObjectPath="lib.displayThumbnail" data="{uid:content.uid}" />Das gecroppte Bild soll jetzt immer in min.140px Breite und min.105px Höhe angezeigt werden aber nicht gestreckt werden, je nach hohem oder breitem Bild sollen eben die beschriebenen Größenangaben greifen, den Rest schneide ich mit einem DIV und overflow hidden ab. ================================================================== Wenn das mit der Erfüllung der Bedingung mit dem PHP-Script klappt bin ich echt froh. Danke erstmal! |
|
Verfasst am: 25. 05. 2012 [19:47]
|
|
|
chhe
Dabei seit: 02.03.2006
Beiträge: 108
|
Ich weiß nicht recht, ob ich Dich genau verstehe, aber irgendwie scheint mir, als ob man das auch einfacher erledigen könnte. Schau Dir mal genau die Beschreibung des »crop scaling« in der TSref unter imgResource an. Ich hatte auch mal einen Fall, wo ich erst nach dem Originalbild unterscheiden wollte, aber letztlich war das gar nicht notwendig. I smell blood and an era of prominent madmen. - W.H. Auden
|



