TYPO3 6.1 Eigener Bildeffekt hinzufügen

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.

 

Andreas Becker

 

3 Gedanken zu „TYPO3 6.1 Eigener Bildeffekt hinzufügen

  1. 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

    1. 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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*