wir haben einen Kunden, welcher auf seiner Seite das Headerbild dynamisch ändern möchte. Sobald ein Benutzer über Google auf die Seite gelangt, soll ein spezieller Header geladen werden. Diese Grafik soll einerseits aus den Seiteneigenschaften der aufgerufenen Seite geladen werden, andererseits dann aber auch für alle anderen Seiten die der Benutzer aufruft gesetzt werden. Auf der Webseite gibt es verschiedene Sprachen, welche jeweils einen anderen Header bekommen sollen.
Der Kunde verwendet TYPO3 in der Version 4.2.10 und setzt Templavoila ein.
Ich habe bereits das ganze versucht mit Hilfe von TypoScript soweit umzusetzen.
Folgendes funktioniert soweit:
- kommt Benutzer über Google wird ein Cookie erstellt
- Prüfung ob Cookie vorhanden
- wenn Cookie vorhanden
- Bild wird aus Seiteneigenschaften geladen
- wird kein Bild in den Seiteneigenschaften gefunden, wird ein Standardbild geladen
- wenn Cookie nicht vorhanden
- Standardbild wird geladen
Die Funktion, dass das Bild aus den Seiteneigenschaften auch auf allen anderen Seiten im Header angezeigt wird, fehlt noch.
Ich habe erst an die "slide" Funktion gedacht, in die Elternelemente Ebene für Ebene durchsucht werden. Dies hat jedoch nicht den gewünschten Effekt (übergeordnete Seiten sehen das Bild nicht, außer es liegt auf der ersten Ebene) und funktioniert mit Templavoila auch nicht ohne weiteres. Nun gehen mir die Ideen aus und da wollte ich fragen, ob hier vielleicht jemand eine Idee hat wie man das Ganze realisieren kann.
temp.logo_style = COA
temp.logo_style {
10 = COA
10 {
# Check if Cookie exists
if.isTrue.data = global : HTTP_COOKIE_VARS | marketingParam
10 = TEXT
10 {
# Check if there is an image in page properties
if.isTrue.data = levelmedia:-1, slide
# if check returns true, load image from page properties
data = levelmedia:-1, slide
wrap = background-image:url(uploads/media/|)
}
20 = TEXT
20 {
# Check if there isn't an image in page properties
if.isFalse.data = levelmedia: -1, "slide"
# If check returns true, load default image
value < lib.logo_style.value
}
}
20 = TEXT
20 {
# Check if Cookie doesn't exists
if.isFalse.data = global : HTTP_COOKIE_VARS | marketingParam
value < lib.logo_style.value
}
}
# put temp data into header data
lib.logo_style < temp.logo_style