Zum Inhalt springen

Hintergrundbild über Template steuern

Erstellt am 27. Januar 2004 · 4 Antworten · letzte Antwort am 11. Februar 2004

Tags: HTML & CSS, Frage

wikki ·

Ich habe ein Hintergrundbild in einer Tabelle folgendermassen eingepflegt:

<td background="bild.gif">

Anstatt für die Unterseiten jedesmal ein neues Template zu erstellen, möchte ich gerne, das Attribut "background" durch einen Marker ersetzen. Ich kann mir allerdings nicht vorstellen, dass sowas durch

<td ###MARKER###>

möglich ist.

Und wie würde ich sowas in eine Template extension reinschreiben?

marks.MARKER = Text
marks.MARKER.value = background=bild2.gif
Thomas Schroeder ·

Hallo Wikki,

dur wirst um ein eigenes extension Template pro Seite nicht herumkommen. Allerdings geht das nur bei der gesamte Seite mit dem Background:

seite.bodyTag = <body background=bild.gif>

oder Du sprichst das Bild direkt an, hier gleich noch mit einem Link:

marks.HAUPTBANNER = HTML
marks.HAUPTBANNER.value = <a href="http://www.sup-online.net" target="_new"><img src="bild.gif" border="0"></a>

Geht natürlich auch ohne Link, nur mit dem IMG-Tag...

Aber den Hintergund einer Tabelle ändern... da ist wohl PHP-Gebastel angesagt.

maxhb ·
wikki schrieb

Anstatt für die Unterseiten jedesmal ein neues Template zu erstellen, möchte ich gerne, das Attribut "background" durch einen Marker ersetzen. Ich kann mir allerdings nicht vorstellen, dass sowas durch

<td ###MARKER###>

möglich ist.

Versuch mal folgendes:
In Deinem Template schreibst Du:

  <td background="###BG_IMG###">

Diesen Marker füllst Du dann wie folgt:

marks.BG_IMG = TEXT
marks.BG_IMG {
  field = media
  listNum = 0
}

Das Bild, welches Du als Hintergrund haben willst hinterlegst Du im Media-Feld der Seite. Dieses siehst Du, wenn Du den Seitentyp auf "Advanced" stellst. Nach der Einagbe des Bildes kannst Du den Seitentyp auf einen anderen Wert stellen (fall nötig), das Bild wird trotzdem angezeigt.

CU
maxhb

CaVo ·

Warum steuerst Du nicht ganz einfach über CSS? Du legst verschiedene Klassen an und schreibst in dein Template:

<td id="###BGTABLE###">

Die CSS-Datei könnte dann folgendermaßen aussehen:

#home{
	background-image : url(mood_home.jpg);
}

#leistungen{
	background-image : url(mood_leistungen.jpg);
}

Im Setup braucht dann eigentlich nur

page.10.marks.BGTABLE < styles.content.getLeft

stehen und schon solltest Du die linke Spalte als Background-Bereich verwenden können. Als Inhaltstyp dann am besten HTML verwenden und als einzigen Inhalt "home" oder "leistungen" eingeben.

Habe ich noch nicht ausprobiert, klingt aber plausibel 😃

sp_left ·

hallo CaVo,
würde mich sehr interessieren wie du das mit css machts, ich habs versucht, muss aber zugeben, dass ich auch nicht immer genau weiss was ich da eingebe, auf jedenfall geht es bei mir nicht wie von dir beschrieben. wäre hilfe möglich?

probleme:

A) wenn ich als html content "start" (home) eingebe, erscheint das als ordinärer txt.

B) ich hab den eindruck, dass ich im css was modifizieren muss der eintrag ist:

<style type="text/css">

#start{ 
   background-image : url(mood_pc_logo.jpg); 
} 

</style>

irgendwie hab ich den eindruck, muss das css doch wissen wo ich denn das backgroundimage abgelegt habe. bei mir ist das

fileadmin/images/background/pc_logo.jpg

wieso möchte ich das mit css machen? nun es schient mir wenns klappt die eleganteste lösung zu sein.

danke für hilfe

gruss sp_left