Nabend zusammen,
Arbeite gerade an einer Seite für einen Karneval-Verein. Da dachte ich mir, es dürfe doch ruhig etwas farbig werden. Eine Idee hätte ich auch schon, nur happert es noch bei der Umsetzung.
Ich möchte, dass (wenn gewünscht) auf jeder Seite eine andere Hintergrundfarbe sowie einen andere Farbe für das Headerbild angewendet wird. Die Einstiegsseite sollte z.B. Gelb sein. Nun hätte ich mir das irgendwie so vorgestellt, dass man in einem Feld der Seiteneigenschaften diese Farbe eingibt (evtl als Hex-Wert) und dann die Seite genau diese Hintergrundfarbe bekommt. Auch das Headerbild, sollte so eingefärbt werden. Im Moment arbeite ich mit einer HTML-Template-Datei und einem externen CSS-Stylesheet. Die Struktur der Seite basiert auf tables.
Hier noch das code-Snipplet, wie ich momentan bereits unterschiedliche Header-Bilder anzeige. (Aus dem Buch Praxiswissen - Typo3)
######## Trailer ########
temp.trailer = IMAGE
temp.trailer.file = GIFBUILDER
temp.trailer.file{
XY = 937,99
backColor = #697DEE
10 = IMAGE
10.file.import = uploads/media/
10.file.import.data = levelmedia:-1, slide
10.file.import.listNum = 0
20 = TEXT
20.text.field = title
20.fontColor = white
20.fontSize = 50
20.fontFile = fileadmin/fonts/CHILLER.TTF
20.niceText = 1
20.offset = 10,50
}
Könnt ihr mir folgen? Wenn ja, einen Anhaltspunkt um mich auf einen Lösungsweg zu bringen?
Wäre echt froh!
Es grüsst,
Raffi
Hallo nochmals,
Ich versuchs nochmals anders zu erklären. Konkretes Beispiel:
Es gibt ein externes Stylesheet, welches im TS reingezogen wird. In diesem Stylesheet ist beispielsweise die Klasse "Tabelle_background" wie folgt definiert:
.tabelle_background {
background-color: #FFFFFF;
border-left-width: 1px;
border-left-style: solid;
border-left-color: #000000;
border-right-width: 1px;
border-right-style: solid;
border-right-color: #000000;
padding-right: 10px;
padding-left: 10px;
}
Nun wäre meine Idee, dass ich in einem Feld des Seiten-Headers (z.B. liesse sich evtl. das Feld "Beschreibung" dazu vergewaltigen), eine Farbe eingeben (z.B. den Hex-Wert #CCCCCC).
Gibt es nun eine Möglichkeit, dass in der CSS-Klasse "Tabelle_background", das Attribut "background-color" mit dem eingegebenen Wert ersetzt wird?
Dies wäre mal meine Idee. Gibts eine andere Lösung? Oder weiss jemand wie sich das hinbiegen lässt.
Ziel ist es wie gesagt, pro Seite eine andere Hintergrundfarbe zu bekommen.
Besten Dank und Gruss
Raffi
Habe nun eine Lösung gefunden. Vielleicht kann Sie mal jemand brauchen:
Ich erstelle mir ein dynamisches CSS als page-objekt:
######## seitenabhängiges CSS ########
css = PAGE
css {
typeNum = 22
config{
additionalHeaders = Content-type: text/css
disableAllHeaderCode = 1
}
10 = TEXT
10.value (
.tabelle_background {
)
20 = TEXT
20.data = levelfield :-1, subtitle, slide
20.wrap = background-color: |;
30 = TEXT
30.value (
border-left-width: 1px;
border-left-style: solid;
border-left-color: #000000;
border-right-width: 1px;
border-right-style: solid
border-right-color: #000000;
padding-right: 10px;
padding-left: 10px;
}
)
}
Wobei ich die Hintergrundfarbe aus dem Feld "Subtitle" hole, welches ich dafür missbraucht habe. Das heisst auf meinen Seiten steht im Feld Subtitle ein Farbcode.
20 = TEXT
20.data = levelfield :-1, subtitle, slide
20.wrap = background-color: |;
Jawoll, das ist eigentlich schon alles. Anschliessend integriere ich das Stylesheet noch in den Header und fertig:
headerData.5 = TEXT
headerData.5.dataWrap = <link rel="stylesheet" type="text/css" href="index.php?id={field:uid}&type=22" />|
Kleiner Nachtrag:
Damit dies funktioniert, muss in der localconf.php folgender Eintrag gemacht werden:
$TYPO3_CONF_VARS['FE']['addRootLineFields'] = 'subtitle';
Sonst gab es (zumindest bei mir mit Typo3 4.0.2) kein Ergebnis, bzw das 'subtitle'-Feld wurde nicht ausgelesen..
Gruß