Imagesize und Crop abhängig von der colPos
Um Bilder nicht nur eine feste Breite in Abhängigkeit von der colPos zuzuweisen, sondern auch noch zu croppen, bentötigt man folgendes Snippet:
temp.tt_content.image < tt_content.image tt_content.image = CASE tt_content.image { key.field=colPos 0 < temp.tt_content.image 1 < temp.tt_content.image 2 < temp.tt_content.image 1.20.1.file.width > 1.20.1.file.height > 1.20.1.file { width = 698c height = 400c } 2.20.1.file.width > 2.20.1.file.height > 2.20.1.file { width = 200c height= 150c } }
Hallo zusammen,
wenn ich den ursprünglichen Code ganz oben in dem Artikel nehme, funktioniert er einwandfrei. Ich brauche das Ganze allerdings für das CE „textpic“.
Ich habe ihn wie folgt abgeändert:
temp.tt_content.textpic < tt_content.textpic
tt_content.textpic = CASE
tt_content.textpic {
key.field = colPos
9
9.20.1.file.height >
9.20.1.file {
width = 123c
height = 123c
}
}
Funktioniert aber nicht… Habt ihr eine Idee wo sich der Fehler versteckt?
Danke schon jetzt 🙂
Lars
Ein wenig Off-Topic, aber nicht uninteressant für Typo3ler, die mit Fluid arbeiten. Wir sind dabei, eine Extension zu entwickeln, die vor allem für das Zusammenspiel zwischen FAL und ImageViewHelper gedacht ist und das wählen eines Bildausschnittes direkt über das Backend ermöglicht:
http://labor.99grad.de/?p=928
@chris:
Was sind für Dich „Bilder im Text“? Wenn Du das Inhaltselement „Text mit Bild“ meinst, dann müsstest Du analog zu tt_content.textpic anpassen. In unserem Schnipsel befassen wir uns nur mit dem „Bild“-Inhaltselement (tt_content.image).
@jp:
Du hast eine kleine, aber entscheidende Stelle nicht übernommen:
3.20.1.file.width >
Durch das Kopieren aus dem „CSS Styled Content“-TypoScript ist file.width anhand des Feldes imagewidth definiert. Durch Deinen Schnipsel entsteht dann:
file.import.data = file:current:uid
file.treatIdAsReference = 1
file.width = 200c
file.width.field = imagewidth
…und das wird dann nix 😉
Mit bildern im Text klaapt das nicht. Einer einen Tip
temp.tt_content.image < tt_content.image
tt_content.image = CASE
tt_content.image {
key.field=colPos
3 < temp.tt_content.image
3.20.1.file.width = 200c
}
Es funktioniert einfach nicht? Was ist falsch?
hmm komisch.. habe es in einem Web von uns getestet und die bilder skalieren wie sie sollen..
Halli hallo,
ja klar habe ich das gemacht. Ich verwende auf meiner Seite verschiedene Backend-Layouts und ich glaube da keinen Fehler drin zu haben.
Ich finde auch deinen Ansatz aus dem verlinkten Beitrag https://wissen.netzhaut.de/typo3/maximale-bildbreite-und-hohe-abhangig-vom-rahmen-section_frame/ ziemlich gut. Wenn ich ehrlich bin ist dieser Ansatz für meinen Fall sogar besser, da ich so pro CE definieren kann, ob ich es standardisieren möchte oder nicht. Ich schreibe unter dem Link gleich noch etwas dazu 😉
Liebe Grüße,
Kai
wenn du die Zeile in deinem Code hast ist es richtig.
hast du im BE-Layout die colPos auch angegeben? und dann in deinem Template auch die Spalte eingetragen?
Hi & Danke für die schnelle Antwort,
doch – das habe ich (507 < temp.tt_content.image). Beim Kopieren in diesen Post hier geht das aber leider verloren, weshalb ich den identischen Code oben auch 2x gepostet habe 🙂 … Keine Ahnung wieso das so ist. In Typo3 6.2 funktioniert das bei mir leider nicht, bzw. könntest du mal den Code komplett posten, wie er deiner Meinung nach funktionieren müsste? Ich probiere schon eine halbe Ewigkeit an dieser Kleinigkeit herum :-(((
Danke & Liebe Grüße,
Kai
Hi Kai!
das Problem liegt daran, dass du der colPos 507 kein temp.tt_content.image zuweist.
In TYPO3 6.2 funktioniert der von uns gepostete Code einwandfrei.
Hi,
kann es sein, dass das unter Verwendung von Backend Layouts / Typo3 6.2 nicht funktioniert? Ich möchte gerne, dass alle Bilder (sind in meinem Fall Thumbnails) in der Spalte, bzw. colPos 507 80x80px groß sind.
Ich habe auf der entsprechenden Seite also ein Extensiontemplate angelegt und folgendes ins Setup geschrieben/kopiert. Leider ohne Effekt.
temp.tt_content.image < tt_content.image tt_content.image = CASE tt_content.image { key.field=colPos 0 < temp.tt_content.image 1 < temp.tt_content.image 2 < temp.tt_content.image 507 1.20.1.file.height >
1.20.1.file {
width = 698c
height = 400c
}
2.20.1.file.width >
2.20.1.file.height >
2.20.1.file {
width = 200c
height= 150c
}
507.20.1.file.width >
507.20.1.file.height >
507.20.1.file {
width = 80c
height= 80c
}
}
Habe ich da einen Fehler gemacht?