Ich will auf jeder Seite eine andere Headergrafik aus dem media Feld auslesen und im jeweiligen div ausgeben.
Im entsprechenden <div> tag steht das Attribut style="###HGBILD###" mit dem Platzhalter. Ich hab dann per TV ein neues Data Element erzeugen.
Folgende Einstellungen:
Mapping Type: Attribute
Editing Type: TypoScript Object Path
Object path: lib.hgbild
Mapping rules: div
Dann hab ich das Element auf den entsprechenden div gemappt. Dort bekommt man unter "Action" im dropdown menü dann die auswahl zwischen dem Attribut "id" und "style" - man wählt natürlich "style" da man dort dann per TS das background-image einfügt.
Mein TS sieht jetzt so aus, leider wird der Inhalt des DB felds media nicht ausgegeben, in der Seite steht nur style="background-image: url(uploads/media/ hier sollte der Dateiname stehen )"
Code:
lib.hgbild = TEXT
lib.hgbild {
field = media
listNum = 0
wrap = background-image: url(uploads/media/ |)
}
Auch wenn ich noch den table = pages hinzufügen wird der Dateiname nicht ausgegeben. Hat da vielleicht noch jemand ne Idee?
Hier noch mein gesamter Code
Code:
# für Entwicklung nicht cachen
config.no_cache = 1
config.language = de
config.locale_all = de_DE
# Default PAGE object:
page = PAGE
page.typeNum = 0
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page
# Dynamisches Hintergrundbild
lib.hgbild = TEXT
lib.hgbild {
field = media
listNum = 0
wrap = background-image: url(uploads/media/ |)
}
# Menu 1 cObject
lib.menu_1 = HMENU
lib.menu_1.1 = TMENU
lib.menu_1.1 {
special = directory
# 'special.value' muss gleich der Startid
special.value = 1
noBlur = 1
#wrap = <ul class="horizontal">|</ul>
NO = 1
NO.ATagParams = class="menelement"
NO.linkWrap = |
ACT < 1.NO
ACT = 1
ACT.ATagParams = class="menelementAct"
ACT.linkWrap = |
}
lib.menu_2 < lib.menu_1