[TYPO3-german] IMAGE Dateipfad in den Header
Stefan Padberg
post at bergische-webschmiede.de
Wed Mar 16 08:02:14 CET 2016
Am 15.03.2016 um 12:47 schrieb Gerald Gräupner:
> Hallo Stefan,
>
> ok, ich versuche mal, es genauer zu beschreiben:
>
> Ich möchte im Header folgende Anweisung stehen haben (das drumrum hab
> ich mal weggelassen):
>
> <head>
> ..
> "<style type="text/css">body #main > header {background-image:
> url(fileadmin/blablapfad/picture.jpg)}</style>"
>
> </head>
>
> Das benötige ich so, weil meine CSS das Hintergrundbild nach speziellen
> Vorgaben rendert. Tut aber hier nichts zur Sache. Das picture.jpg ist
> als content-Element vorhanden. Wenn ich es als Pfad in den value des
> Textobjektes statisch eintrage, wird das Bild mit dem folgenden Wrap
> dargestellt.
>
> headerData {
> 12 = TEXT
> 12.value = fileadmin/blablapfad/picture.jpg
> 12.stdWrap.wrap = "<style type="text/css">body #main > header
> {background-image: url( | )}</style>"
> }
>
> Jetzt möchte ich den Dateipfad nicht statisch im Template eintragen,
> sondern im Content. So denke ich, dass man mit einer Abfrage auf die
> tt_content Tabelle an den Pfad der Bilddatei herankommen muss. Wenn ich
> den Pfad habe, müsste dieser nur noch an StdWrap übergeben werden.
> Deswegen references und renderObj auf IMG_Resource.
>
> Ich stelle aber auch gerade fest, dass meine stdWrap Anweisung hier im
> Beitrag nicht angezeigt wird, weil die Option HTML off eingestellt ist.
> Weisst Du, wie man das einschalten kann? Ansonsten kannst Du meinen
> stdWrap nicht sehen.
>
Hi,
du hast zwei Möglichkeiten:
a) Du gibst das Hintergrundbild in den Seiteneigenschaften ein. Dann
kannst du die URL des Bildes folgendermaßen ermitteln:
lib.backgroundimage = FILES
lib.backgroundimage {
references {
table = pages
fieldName = media
}
begin = 0
maxItems = 1
renderObj = TEXT
renderObj {
data = file:current:publicUrl
}
}
b) Du gibst das Bild als Inhaltselement ein, weil du ein Backendlayout
hergestellt hast, in dem ein Eingabefeld für das Bild ist. (Die
colPos=13 ist nur ein Beispiel. Hier musst du natürlich die Zahl
eintragen, die du im Backendlayout vergeben hast.)
lib.backgroundimage < styles.content.get
lib.backgroundimage.select.where = colPos=13
lib.backgroundimage.renderObj = FILES
lib.backgroundimage.renderObj {
references {
table = tt_content
fieldName = image
}
begin = 0
maxItems = 1
renderObj = IMG_RESOURCE
renderObj {
file.import.data = file:current:publicUrl
}
}
So bekommst du die URL sauber raus. Dann baust du sie in page.headerdata
ein und wrappst sie anständig.
Beste Grüße
Stefan
--
Bergische Webschmiede
Dipl.-Ing. Stefan Padberg
TYPO3-Integrator und Webprogrammierer
:: Borner Str. 18 - 42349 Wuppertal
:: +49 202 97648355
:: +49 173 9219845
:: post at bergische-webschmiede.de
:: http://www.bergische-webschmiede.de
More information about the TYPO3-german
mailing list