[TYPO3-german] Wasserzeichen als Copyright in Bild in Fluid einbinden
Michael Roskosch
info at all4pages.com
Tue Aug 2 09:03:01 CEST 2016
Hallo Community,
ich möchte ein Wasserzeichen in ein Bild einbinden. Ich habe ein Script gefunden, mit dem man das mit Hilfe von TS und einem DCE machen kann.
http://blog.teamgeist-medien.de/2015/03/wasserzeichen-mit-dem-file-abstraction-layer-fal-dce-files-und-gifbuilder.html
Ich möchte das aber etwas vereinfacht haben und ohne DCE.
Mein abgeändertes TS sieht nun so aus:
lib.watermark = COA
lib.watermark {
#Das Basis Bild(FAL)
#Vorsicht!!! Das FILES Object wird vor TYPO3 6.0 nicht unterstüzt
10 = FILES
10 {
#An dieser Stelle wird die Query gebildet
#Wir suchen den Datensatz "image" in der Tabelle "tt_content"
#wo die uid des Datensatzes
#der uid unseres Contentelements ("co") entspricht.
references {
table = tt_content
uid.field = co
fieldName = image
}
# das Renderobject erstellt aus dem Datensatz
# die Informationen ein Objekt
renderObj = COA
renderObj {
# Im renderObj des FILES-Objects befinden sich in file:current
# die Metainformation des FAL welche wir nutzen wollen um das Wasserzeichenbild
# zu erstellen. Jedoch gehen diese Informationen im GIFBUILDER im renderObj
# verloren und können dort nicht angesprochen werden. Darum legen
# wir die uid als temporäre Varibale im Register an.
10 = LOAD_REGISTER
10 {
param = TEXT
param.data = file:current:uid
}
#Ein Image wird angelegt
20 = IMAGE
20 {
#Die Quelle des Bildes wird die Datei sein die uns der
#GIFBUILDER generiert
file = GIFBUILDER
file {
# Format und Größe definieren
XY = 200,200
format = png
#Das erste Element des GIFBUILDERS ist das Bild, welches wir
#im FAL generiert haben und dessen uid wir in das Register geladen haben
#10 = IMAGE
#10 {
# file {
# #Die Uid wird aus dem Register als
# #Quelle des Bildes angegeben
# import.data = register:param
# treatIdAsReference = 1
# }
#}
#Mein Wasserzeichen das als PNG in fileadmin liegt
10 = IMAGE
10 {
file = fileadmin/watermark.png
file.width = 121
file.height = 38
file.noScale = 1
}
#Das zweite Element ist in diesem Fall ein Textoverlay
#Der Wert wird der value aus dem
#Zukünftigen DCE Feld "copyright" welches im Fluid
#an dieses Typoscript-Object übergeben werden soll.
#20 = TEXT
#20 {
# text.data = field:copyright
# fontSize = 15
# fontColor= #FFFFFF
# offset = 5,195
#}
}
}
}
}
}
Mein Wasserzeichenbild liegt in fileadmin/watermark.png
Jetzt will ich das ganze für ein Bild aktivieren in Fluid, aber ich komme mit dem Beispiel mit DCE nicht klar:
<f:for each="{dce:fal(field:'image', contentObject:contentObject)}" as="fileReference">
<img src="<f:cObject typoscriptObjectPath="lib.watermark" data="{uid:fileReference.uid, copyright:fileReference.referenceProperties.copyright ,co:contentObject.uid }"" />
</f:for>
kann man nicht den Teil so verändern, dass es mit dem hier verbunden wird?
<f:for each="{gleitbrett.bilder}" as="bild" iteration="iterator">
<f:if condition="{iterator.isFirst}">
<f:image class="product-list-image" src="{bild.originalResource.publicUrl}" alt="{bild.originalResource.alternative}" title="{bild.originalResource.title}" width="627" ></f:image>
<!--{bild.originalResource.description}-->
<img src="<f:cObject typoscriptObjectPath="lib.watermark" data="{uid:fileReference.uid, copyright:fileReference.referenceProperties.copyright ,co:contentObject.uid }"" />
</f:if>
</f:for>
More information about the TYPO3-german
mailing list