Zum Inhalt springen

Für jede Seite ein anderes Bild

Erstellt am 15. Februar 2007 · 8 Antworten · letzte Antwort am 24. Juli 2008

Tags: Seiten & Seitenbaum, Bilder, Frage

Popp ·

Hi zusammen,

also ich habe jetzt schon viele Posts durchgelesen, die funktionieren aber alle irgendwie nicht.

Ich möchte gern in einem Trailer der zentral über dem Inhalt steht, für jede Seite die ich anklicke ein unterschiedliches Bild angezeigt wird.

Ich habe bereits probiert, das über den Content der Seite zu lösen, das funktioniert aber nicht richtig.

Wie mach ich das? Kann mir jemand helfen? Wäre super...

Vielen Dank!!!

ehontheim ·

Hallole!

Wenn ich dein Problem richtig verstanden habe, hätte ich hier eine Lösung, die du mit dem Seitentyp "Erweitert" erreichst.

Du musst deinen Seitentyp ggf. von Standard auf Erweitert anpassen. Dann kannst du im Feld Dateien ("Hängen Sie Medien-Dateien an, die zu der Seite gehören.") gewünschte Grafik hinterlegen.
Nun noch mappen mit TV bzw. einen Marker ansprechen. Und ins Roottemplate gehört dann noch folgender Code (hier als Beispiel für TemplaVoila; gilt sinngemäß ohne lib. für den normalen Weg)

//*** Einfügen eines Bildes aus dem Seitentyp "Erweitert"  ***//
//*** und dem dortigen Eintrag in "Dateien"   ***//
 
lib.header = IMAGE
lib.header {
     file.import.data = levelmedia: -1, slide 
     file.import = uploads/media/
     file.import.listNum = 0
     file.import.override.field = media
}
           
//*** Einfügen eines Bildes ENDE ***//

Du kannst so für jede Seite ein eigenes Bild einstellen, welches bei Anzeige der Seite gezogen wird. Und über die Funktion slide wird erreicht, dass von einer Unterseite ausgehend so lange in Richtung Root-Seite gesucht wird, bis ein Bild gefunden wurde. Oder anders herum ausgedrückt. Das Bild wird so lange an die Unterseiten "vererbt", bis auf einer der Unterseiten ein anderes Bild eingefügt wurde.

War's das? Oder fällt meine Erklärung eher unter "Ich hatte eine Lösung, aber die paßte nicht zum Problem"?

Grüße

Erwin

Popp ·

Super, Erwin!!

Ich hatte nur Probleme, was die Leute mit erweiterten Seiten meinen!

Herzlichen Dank!!!

shustedt ·

Hallo zusammen,

ich binde über die templavoila-funktion "image field" verschiedene Bilder auf der Seite ein. In der Data Structure steht das übliche

10 = IMAGE
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
10.file.maxW = 400

Ich möchte jedoch dort, wo ich kein Bild einbinde, ein Standardbild haben. Wie lässt sich so etwas definieren? Also von der Logik stelle ich mir es ungefähr so vor:

10.file.stdWrap = fileadmin/templates/img/default.jpg

...geht so natürlich nicht. Hat jemand eine Idee?

Dank & Grüße,
Sebastian

Floater ·
shustedt schrieb

Ich möchte jedoch dort, wo ich kein Bild einbinde, ein Standardbild haben. Wie lässt sich so etwas definieren?

Hallo,

dieses Problem habe ich gerade auch.
Gibt es dafür eine Lösung?

Gruß,
Floater

jochen ·

Hi Floater,

das kannst Du so machen:

10 = IMAGE
10.file {
  import {
    cObject = TEXT
    cObject.value = fileadmin/img/defaultbild.jpg
    cObject.override {
      required = 1
      data = levelmedia: -1, "slide"
      wrap = uploads/media/ |
      listNum = 0
    }
  }
}

Grüße
Jochen

shustedt ·

Sehr schöne Lösung!

Ich hatte auch noch etwas gebastelt. Ist zwar JS und damit nicht barrierefrei - aber hey 8-)

Die Funktion fragt erst ab, ob das Element leer ist. Falls ja, werden zufällig Bildpfade mit Nummern von 1-6 generiert, die dann ausgegeben werden. So hat man einen netten Bildrotator, welcher auf Wunsch mit einem eigenen Bild befüllt werden kann.

page.headerData.10 = TEXT
page.headerData.10.value (
<script type="text/javascript">
	window.onload = function() {
	var a = 1;
	a = Math.random();
	a *= 6;
	a = Math.ceil(a);
	headerId = document.getElementById("header-image"); // ID des DIV, wo das Bild liegt
		if(!headerId.innerHTML) {
			headerId.innerHTML = '<img src="fileadmin/images/bild_'+a+'.jpg" border="0" />'
		}
	}
</script>
)
nickno ·

Wie würde das denn aussehen, wenn das nächste vorhandene Bild in der Seitenstruktur aufwärts übernommen werden soll. Wenn eine Unterseite kein Bild hat, soll das der nächsthöheren angezeigt werden.
Mit

10 = IMAGE
10.file.import = uploads/tx_templavoila/
10.file.import.listNum = 0
10.file.import.override.data = levelmedia:-1, slide

gehts leider nicht... o.O