Zum Inhalt springen

Hintergrundfarbe und Header pro Seite unterschiedlich

Erstellt am 27. August 2006 · 3 Antworten · letzte Antwort am 21. November 2006

Tags: HTML & CSS, Frage

blurap ·

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

blurap ·

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

blurap ·

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" />|
DerUnsympath ·

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ß