Das Problem: Ich möchte in einem Templavoila-FCE Bilder automatisch auf eine von mir festgelegte Größe skalieren und sowohl mit runden Ecken als auch mit Schlagschatten versehen.

Ich erstelle ein FCE mit dem Bild als “Image Field, Fixed W+H”, damit bereitet mir Templavoila die Bildskalierung auf eine fixe Größe vor.
Ich habe auch gleich noch ein nicht gemapptes Textfeld angelegt, mit dem ich die “title” und “alt” Attribute fülle (field_alttext).
Standardmäßig skaliert Templavoila das Bild auf 200×150 Pixel, das ergebnis im Frontend sieht also so aus:
Im XML von Templavoila befindet sich der Typoscript-Code um dieses Bild zu erzeugen (auf den Bleistift neben der oberen Überschrift klicken:
10 = IMAGE
10.file = GIFBUILDER
10.file {
XY = 200,150
10 = IMAGE
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
10.file.maxW = 200
10.file.minW = 200
10.file.maxH = 150
10.file.minH = 150
}
diesen erweitern wir jetzt, da wir ja ein Bild erstellen möchten, welches aus folgenden “Ebenen” besteht (von hinten nach vorne):
- Die Schatten-Ebene
- Die Effekt-Ebene (um den Schatten weichzuzeichnen)
- Die Bild-Ebene
als Maske benutzen wir beim Schatten und beim Bild dasselbe:
Das ist das Finale Typoscript (XML des FCE):
10 = IMAGE
10.file = GIFBUILDER
#title/alttext mit Inhalt verknüpfen, title bekommt automatisch den alttext
10.altText.field = field_alttext
10.file {
#Das endgültige Bild ist 10 Pixel breiter und höher, um Platz für den Schatten zu schaffen
XY = [30.w] + 10,[30.h] + 10
#Hintergrundfarbe
backColor = #FFFFFF
10 = IMAGE
10.file = GIFBUILDER
10.file {
#die gleichen Abmessungen wie das Bild das eingefügt wird
XY = [30.w],[30.h]
#Schattenfarbe
backColor = #888888
}
#die Maske
10.mask = fileadmin/templates/tutorial/mask.gif
#offset, um den Schatten rechts unter dem Bild hervorkucken zu lasen
10.offset = 5,5
#weichzeichnen
20 = EFFECT
20.value = blur=25
#das Bild, skalieren auf feste Größe von 190×140
30 = IMAGE
30.file = GIFBUILDER
30.file {
#Abmessungen vom importierten Bild übernehmen
XY = [10.w],[10.h]
10 = IMAGE
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
10.file.maxW = 190
10.file.minW = 190
10.file.maxH = 140
10.file.minH = 140
}
#maske
30.mask = fileadmin/templates/tutorial/mask.gif
#offset
30.offset = 3,3
}
Die Ebenen im einzelnen:
Schatten:
Für den Schatten erzeugen wir ein Gifbuilder-Objekt mit der Schattenfarbe und wenden unsere Maske darauf an:
10 = IMAGE
10.file = GIFBUILDER
10.file {
#die gleichen Abmessungen wie das Bild das eingefügt wird
XY = [30.w],[30.h]
#Schattenfarbe
backColor = #888888
}
#die Maske
10.mask = fileadmin/templates/tutorial/mask.gif
#offset, um den Schatten rechts unter dem Bild hervorkucken zu lasen
10.offset = 5,5
das Ergebnis sieht folgendermaßen aus:
Effekt (Weichzeichner)
Ein Gifbuilder Effekt-Layer, nichts spezielles:
20 = EFFECT
20.value = blur=25
Ergebnis:
Bild:
Als letzes setzen wir unser Bild mit Skalierung und Maske drauf und verpassen ihm ebenfalls einen Offset (weniger als beim Schatten). Der Offset ist deshalb sinnvoll, da der Schatten je nach Offset an allen vier Bildseiten sichtbar sein kann:
30 = IMAGE
30.file = GIFBUILDER
30.file {
#Abmessungen vom importierten Bild übernehmen
XY = [10.w],[10.h]
10 = IMAGE
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
10.file.maxW = 190
10.file.minW = 190
10.file.maxH = 140
10.file.minH = 140
}
#maske
30.mask = fileadmin/templates/tutorial/mask.gif
#offset
30.offset = 3,3
Ergebnis:
Hierbei ist man jetzt allerdings festgelegt auf eine Bildgröße. Wenn man die Maske dynamisch erstellt, wie hier vorgestellt, lässt sich dieses FCE auch einfach dynamisieren.
Das komplette XML des FCE könnt ihr hier herunterladen
Der Marienkäfer ist von interfacelift






6 Kommentare
Sehr netter Artikel, hat mir geholfen.
Kleine Korrektur: IMAGE kennt kein title, sondern nur titleText (wird sonst automatisch mit dem altText gefüllt). alttext ist veraltet und es sollte altText verwendet werden.
http://wiki.typo3.org/index.php/De:TSref/IMAGE
Danke!
Steffen
Danke dir!
…habs schon korrigiert
Leo
Sehr geiles Tutorial. Perfekt, einfach und verständlich.
Dankeschön
Wow, fast danach hätte ich gesucht … ich möchte im FCE z.B. ein Feld haben, wo ich die gewünschte Breite des Bildes selber eintragen kann. Wie kann ich dann im XML auf diesen Wert zugreifen?
Danke für den Artikel, hat mir sehr weiter geholfen Inhalte innerhalb eines FCE mit grafischer Ausgabe zu verarbeiten
Besten Dank für diesen informativen Artikel!