In einem Projekt sollte der TYPO3-Redakteur die Bilder im Backend zurechtschneiden können.
Über das Feld „Höhe“ und „Breite“ wird die gewünschte Bildgröße definiert welche dann mittig aus dem Bild ausgeschnitten wird.
Es werden dabei nur Bilder beschnitten, die größer sind als die gewünschte Zielgröße.
Folgende Schritte sind für einen neuen Bildeffekt nötig:
Im TSConfig der Seiteneigenschaften muss folgender Eintrag hinzugefügt werden:
TCEFORM.tt_content.image_effects.addItems.30 = Zuschneiden
Dadurch wird im Auswahlmenü „Effekt“ im Tab „Erscheinungsbild“ ein weiterer Punkt namens „Zuschneiden“ hinzugefügt.
Damit dieser auch funktioniert, wenn er ausgewählt wird, muss noch folgender Code in das TypoScript-Template integriert werden:
# Bildeffekt "Zuschneiden"
temp.image < tt_content.image.20
tt_content.image.20 = CASE
tt_content.image.20 {
key.field = image_effects
default < temp.image
30 < temp.image
30 {
equalH >
1.file {
width {
append = TEXT
append.value = c
}
height {
append = TEXT
append.value = c
field = imageheight
}
}
}
}
tt_content.textpic.20 >
tt_content.textpic.20 < tt_content.image.20
tt_content.textpic.20 {
default {
text.10 = COA
text.10 {
if.value = 24
if.isGreaterThan.field = imageorient
10 = < lib.stdheader
10.stdWrap.dataWrap = <div class="csc-textpicHeader csc-textpicHeader-{field:imageorient}">|</div>
}
text.20 = < tt_content.text.20
text.wrap = <div class="csc-textpic-text">|</div>
}
30 < tt_content.image.20.30
30 {
text.10 = COA
text.10 {
if.value = 24
if.isGreaterThan.field = imageorient
10 = < lib.stdheader
10.stdWrap.dataWrap = <div class="csc-textpicHeader csc-textpicHeader-{field:imageorient}">|</div>
}
text.20 = < tt_content.text.20
text.wrap = <div class="csc-textpic-text">|</div>
}
}
Bei meiner Recherche zu diesem Thema bin ich auf verschiedene Foreneinträge und Snippets gestoßen, allerdings brachte keiner dieser Einträge den gewünschten Erfolg.
Von da her hoffe ich, dass dieser Artikel dem einen oder anderen weiter hilft.
[Update 11.02. 2014]
Der bisherige Code wurde erweitert und durch einen 6.2 kompatiblen Code ersetzt.
Hab das Script mal getestet und es funktioniert überhaupt nicht.
Das ganze manipuliert nämlich auch noch die normale Anzeige ohne das ein Effekt ausgewählt wurde, bei z.B 4 Spalten wird in jeder Spalte anstatt des Bildes in Spalten die Bilder ausgegeben also wenn man z.B. 8 Bilder auf der Seite hatte ist jedes Bild 8x in kleiner Form vorhanden.
Zum anderen funktioniert in diesem Beispiel auch das „Text mit Bild“ nicht, der Text wird einfach nicht ausgegeben.
Dieses Beispiel hier würde funktionieren (gesteste in 4.4 und 6.2)
temp.image
tt_content.image.20 = CASE
tt_content.image.20 {
key.field = image_effects
default < temp.image
30
1.file {
# definierte Bildbreite um c erweitern (c = cropping -> abschneiden)
width {
append = TEXT
append.value = c
field = imagewidth
}
# vorgegebene Bildbhöhe ebenfalls um c erweitern
height {
append = TEXT
append.value = c
field = imageheight
}
}
}
}
tt_content.textpic.20 >
tt_content.textpic.20 < tt_content.image.20
tt_content.textpic.20 {
default {
text.10 = COA
text.10 {
if.value = 24
if.isGreaterThan.field = imageorient
10 = < lib.stdheader
10.stdWrap.dataWrap = |
}
text.20 = < tt_content.text.20
text.wrap = |
}
30 < tt_content.image.20.30
30 {
text.10 = COA
text.10 {
if.value = 24
if.isGreaterThan.field = imageorient
10 = < lib.stdheader
10.stdWrap.dataWrap = |
}
text.20 = < tt_content.text.20
text.wrap = |
}
}
Gruß
Supercat1510
Hallo Supercat1510, danke für deine Rückmeldung.
Bevor ich einen neuen Blogeintrag bereitstelle, wird dieser von mir natürlich auch kontrolliert.
Wie in der Überschrift geschrieben habe ich das ganze mit TYPO3 6.1 getestet und als funktionsfähig freigegeben.
Danke dennoch für deine Rückmeldung.
Super Script, hat auf Anhieb funktioniert. Auf Typo6.2
Vielen Dank.