Zum Inhalt springen

Wechselnde Grafiken im Header-Bereich (je nach Seite)

Erstellt am 16. August 2004 · 12 Antworten · letzte Antwort am 26. Juni 2006

Tags: Bilder, Frage

Merlin073 ·

Hallo mal wieder 8-)

Stehe nun kurz vor der Vollendung meines typo3-Werkes, habe aber noch ein Problem, was ich bisher immer vor mir hergeschoben habe:

Ich habe einen Header-Bereich, in dem - je nach ausgewähltem Menüpunkt - auf jeder Seite eine andere Grafik erscheinen soll.

Die einzige Lösung die mir einfällt, wäre für jede Seite ein eigenes Template zu machen, aber das kann es ja hoffentlich nicht sein ...

Wäre nett, wenn jemand eine Lösung wüßte, bzw., wenn es keine gibt, mir das auch mitteilen würde o.O

Thanx!

jweiland ·

Im Template (für alle Seiten) einfach einen Marker für die Grafik vorsehen und auf der Startseite eine Grafik einfügen. Auf den Unterseiten wird dann über ein Extension-Template nur der jeweilige Dateiname der Grafik überschrieben. Benötigt also nur 1 Zeile je Seite.

Jochen Weiland

Merlin073 ·

Vielen Dank für den Tipp!

An Marker hatte ich bisher noch gar nicht gedacht, weil ich sie nur mit Text assoziiert hatte 😉

Mir ist jedoch noch nicht ganz klar, wie ich den Tipp in der Praxis umsetze.

- Warum muß ich den Marker UND ein Bild einfügen? Soll dann der Marker vor oder hinter das IMG-Tag; woher weiß TypoSkript, dass es sich auf dieses Bild bezieht?

- Wie sieht die Code-Zeile im Extension-Template genau aus?

Danke noch mal für die Hilfe, wenn ich das heute noch hinkriege, kann die Seite endlich an´s Netz #giggle#

jweiland ·

Im HTML-Template: ###BILD###

Im TS-Setup:

page.10.marks.BILD = IMAGE
page.10.marks.BILD.file = fileadmin/.....

Letztere Zeile dann jeweils im Ext-Template auf den Seiten anpassen

Jochen Weiland

Unbekannter Benutzer ·

ich habs bei mir auch so gelöst, dass ich den Marker im Template über TS austausche, allerdings gebe ich das gewünschte Bild der Seite im Feld "media" des Seitentyps "Advanced" an. Wenn du viele wechselnde Bilder hast oder der Backenduser die Bilder selbst ändern können soll wäre das wohl die elegantere Methode. Auf Wunsch kann ich dir mein TS posten.

Merlin073 ·

Danke Euch beiden!

Ich werde erstmal die Variante von jweiland testen, um erstmal eine lauffähige Variante zu haben.

Wäre nett, wenn Du mir Dein TS trotzdem schon mal posten könntest, weil das als Lösung natürlich wirklich elegant wäre.

😃

maxhb ·
Merlin073 schrieb

Wäre nett, wenn Du mir Dein TS trotzdem schon mal posten könntest, weil das als Lösung natürlich wirklich elegant wäre.

Geht im Prinzip so, wie in diesem Posting beschrieben: #3437
Nicht davon abschrecken lassen, dass es sich da auf Menüs bezieht...

CU
maxhb

Merlin073 ·

yo, danke!
Werde mir das nachher gleich mal anschauen.

Ich hänge aber gerade noch bei der Lösung von jweiland. Ich habe im Template den IMG-Tag durch ###BILD1### ersetzt.
So weit so gut, funktioniert auch.

Da ich das Bild, welches ich austauschen möchte, aber über zwei GIFs erstreckt, habe ich an die Stelle des 2. Bildes noch ###BILD2### gesetzt.

Komischerweise wird Bild1 richtig angezeigt, Bild2 jedoch nicht. Dort erscheint nur die HTML-Ausgabe ###BILD2###, der Marker wird also nicht geparsed.

Ist mir ein völliges Rätsel, weil Marker und TS in beiden Fällen identisch sind und bei dem einen klappt es, bei dem anderen nicht 🙁

Das ist mein TS im Extension-Template:

page.10.marks.BILD1 = IMAGE 
page.10.marks.BILD1.file = fileadmin/template/main/images/header_1_1.gif
page.11.marks.BILD2 = IMAGE 
page.11.marks.BILD2.file = fileadmin/template/main/images/header_1_2.gif
Unbekannter Benutzer ·

hier meine Code - ist im Prinzip das gleiche wie der bereits verlinkte Topic, nur dass ich mein Bild auf eine bestimmte Breite Skaliere und zurechtschneide.

#Configuring HeaderImage
temp.titleimage = IMAGE
temp.titleimage {
  file = GIFBUILDER
  file {
    XY = 308,100
    format = jpg
    quality = 75
  }
  file.10 = IMAGE
  file.10.file.import{
    cObject = TEXT
     # Standardbild wählen sofern auf der Seite selbst keines definiert wurde
    cObject.value = {$template_path}{$basicHeaderImage}
    # falls doch
    cObject.override {
      required = 1
       # prüfen ob auf der Seite selbst, und wenn nicht, ob vielleicht in den Levels darunter ein Bild festgelegt wurde
      data = levelmedia: -1, "slide"
       # Upload-Pfad zuweisen
      wrap = uploads/media/|
       # Position der Datei auswählen - in diesem Fall Datei nummer 1 im Feld "media"
      listNum = 0
    }
  }
   # Auf 308 Pixel Breite bringen
  file.10.file.width = 308
   # zentriert im Platzhalterbild positionieren
  file.10.offset = 0,100-[10.h]/2
}

temp.titleimage wird später noch einem Marker übergeben.

Du könnest es bei dir so lösen - da du ja 2 Bilder benötigst - dass du das du einfach die Dateien an Position 0 und 1 des Feldes "media" verwendest - oder - sofern es 1 zusammenhängendes Bild ist, es jedoch nur geteilt werden muss du das selbe Bild einfach über den GIF-Builder splittest.

Bei meiner Version habe ich derzeit jedoch noch das Problem, dass der GIF-Builder das gecroppte Bild komisch krisselig mach - vermutlich wegen der Zwischenkonvertierung zu PNG. Hätte da vielleicht jemand ne Lösung? Ich glaube mal was von einer Truecolor-Zuordnung gelesen zu haben, fand in der TSRef jedoch nichts mehr. Oder kann ich in meinem Fall das JPG auch ohne GIFBUILDER croppen?

BastianBalthasarBux ·

einfacher gehts auch mit simple banner oder macina banners. ich 'missbrauche' diese beiden plugins gerne um wechselnde bilder pro seite anzuzeigen 😉

kannst dann zusätzlich sogar noch links auf die jeweiligen bilder setzen und hast obendrein eine kleine statistische auswertung wie oft ein banner angezeigt wurde, bzw. geclickt wurde. bei macina banners kannst ausserdem auch statt einem bild auch ein flash anhängen! 😉

mfg bbb

nagus ·

was noch total super wäre: bilder (also banner) mit "vor" und "zurück" button durchschalten zu können. und zwar mit der Advanced Banner Management ( macina_banners ) Extension

jemand eine idee wir man das lösen könnt?

danke!