Ich habe einen Marker "IMAGEHEADER" der durch eine Bild ersetzt wird. Dieses Bild wird über den GIFBUILDER gerechnet und besteht aus drei Teilen. Zum einen aus einem Hintergrund-GIF sowie einem Bild, das in den Seiteneigenschaften hinterlegt wird, und einer Maske.
Das Bild wird auch richtig gerechnet und platziert.
Nun kann es aber vorkommen, das auf diversen Seiten kein Bild in den Seiteneigenschaften hinterlegt wird. In diesem Fall möchte ich den Marker natürlich ungefüllt lassen. Momentan wird nämlich in diesem Fall das Hintergrund-GIF ohne Bildinhalt angezeigt.
Kann ich in Typoscript abfragen, ob in den Seiteneigenschaften ein Bild ist, und gegebenenfalls den Marker leer lasen.
Hier noch mein Code im Setup:
subparts.IMAGEHEADER = IMAGE
subparts.IMAGEHEADER {
file = GIFBUILDER
file {
XY = 400,200
#der Hintergrundrahmen
5 = IMAGE
5.file=fileadmin/templates/images/image_back.gif
#das eigentliche Motiv aus den Seiteneigenschaften
10 = IMAGE
10 {
offset = 5,5
file.width = 390
file.height = 187
file.import=uploads/media/
file.import.listNum = 0
file.import.override.field = media
mask = fileadmin/templates/images/image_maske.jpg
}
}
}
Du kannst ifEmpty nutzen - hier ein schnelles Beispiel:
temp.headimg = TEXT
temp.headimg {
data = levelmedia: -1,slide
field.listNum = 0
ifEmpty = head.jpg
wrap = url(uploads/media/|)
}
Vielen Dank für deine schnelle Nachricht
Ich glaube das ist aber der falsche Ansatz. Bei deinem Beispiel nimmt er ein Standardbild, sobald kein Bild in den Seiteneigenschaften vorhanden ist.
Ich wollte aber, dass der komplette Marker "subparts.IMAGEHEADER = IMAGE" entfernt wird.
Vielleicht kannst du mir nochmals einen Tipp geben.
gumer schrieb
Vielen Dank für deine schnelle Nachricht
Ich glaube das ist aber der falsche Ansatz. Bei deinem Beispiel nimmt er ein Standardbild, sobald kein Bild in den Seiteneigenschaften vorhanden ist.
Ich wollte aber, dass der komplette Marker "subparts.IMAGEHEADER = IMAGE" entfernt wird.
Vielleicht kannst du mir nochmals einen Tipp geben.
Das war ein Beispiel!
Du kannst ifFalse verwenden und den Marker oder Subpart leer machen...
Nochmals Danke für deine Tipps. Ich komme immer näher an die Lösung.
Bin nun soweit, dass ich mit ifEmpty prüfen kann ob ein Bild in den Seiteneigenschaften liegt.
Habe es auch geschafft den Inhalt in diesem Fall mit einem anderen Bild zu füllen (nur um die Funktion zu testen, möchte ich ja eigentlich nicht). Jetzt ist mein Problem, wie ich das übergeordnete cObject entfernen kann.
Ich prüfe ja ob das cobject "subparts.IMAGEHEADER.file.10" leer ist, möchte aber das übergeordnete cobject "subparts.IMAGEHEADER" entfernen.
Hier nochmals mein erweitertes Script:
subparts.IMAGEHEADER = IMAGE
subparts.IMAGEHEADER {
file = GIFBUILDER
file {
XY = 400,200
#der Hintergrundrahmen
5 = IMAGE
5.file=fileadmin/templates/images/image_back.gif
#das eigentliche Motiv
10 = IMAGE
10 {
offset = 5,5
file.width = 390
file.height = 187
file.import = uploads/media/
file.import.data = levelmedia: -1
file.import.listNum = 0
}
}
}
#subparts.IMAGEHEADER.file.10.stdWrap.ifEmpty.cObject >
subparts.IMAGEHEADER.file.10.stdWrap.ifEmpty.cObject = IMAGE
subparts.IMAGEHEADER.file.10.stdWrap.ifEmpty.cObject {
file = fileadmin/images/blindbild.jpg
}
Habs endlich gelöst. Vielen Dank für die Hilfestellungen. Habe trotzdem noch eine Ewigkeit gebraucht, bis ich das ganze in meinen Kopf bekommen habe.
Nur kurz hier noch die Lösung. Musste nur eine Zeile einfügen mit if.isTrue.
subparts.IMAGEHEADER = IMAGE
subparts.IMAGEHEADER {
#diese Zeile habe ich eingefügt
stdWrap.if.isTrue.field = media
file = GIFBUILDER
file {
format=jpg
quality=100
XY = 400,200
#der Hintergrundrahmen
5 = IMAGE
5.file=fileadmin/templates/images/image_back.gif
#das eigentliche Motiv
10 = IMAGE
10 {
offset = 5,5
file.width = 390
file.height = 187
file.import = uploads/media/
file.import.data = levelmedia: -1
file.import.listNum = 0
mask = fileadmin/templates/images/image_maske.jpg
}
}
}