Headerimage

geschrieben am 05 Juli 2009 - von Bechti - in

Seit Wochen suche ich schon nach einer Lösung wie ich das headerimage abhängig vom Menü wechseln lassen kann.
Meine erste Anlaufstelle war drupalcenter.de, und die Suche zeigte mir, dass ich offensichtlich nicht die Einzige mit diesem Problem war. Die Lösungsvorschläge waren aber allesamt für die Tonne - naja, zumindest konnte ich mit keinem davon was anfangen.

Eine vorgeschlagene Abfrage mit php hatte bei einem der Fragesteller schon nicht die gewünschte Lösung gebracht, und mit meinen rudimentären php-Kenntnissen hab ich gar nicht erst angefangen damit großartig rumzubrobieren.
Ein weiterer Vorschlag war die Auswertung von $breadcrumb. Damit bin ich leider auch nicht ans Ziel gekommen.
Zu guter Letzt fand ich dann noch einen Hinweis auf die Module taxonomy image und header image.

So weit ich das mit meinen begrenzten Englischkenntnissen verstanden hatte, arbeitet taxonomy image mit einer bestehenden Taxonomy Menü-Struktur, somit hatte sich das gleich wieder erledigt.

Das Modul header image schien endlich die Lösung zu sein. Es arbeitet mit Blöcken, die man einem oder mehreren node-Typ(en) zuweisen kann.
Beim genaueren Betrachten musste ich dann aber feststellen, dass das Modul nicht so ganz meinen Erwartungen entspricht, und da es nur als dev verfügbar ist, habe ich das ganze auch wieder verworfen.

Aufgeben wollte ich aber noch lange nicht. Die Grundidee des Moduls header image, das ganze über Blöcke zu lösen, fand ich gar nicht so verkehrt.
Zuerst einmal habe ich mich mit dem Thema Blöcke themen auseinander gesetzt, und bin dabei auf das Modul Block Theme gestoßen. Damit war ich der Lösung schon mal ein ganzes Stück näher gekommen.

Zuerst habe ich in den blocktheme-Einstellungen für jeden Menüpunkt, der ein eigenes Headerbild bekommen soll, entsprechende tpl Dateien definiert. Das war recht einfach, weil gut erklärt erklärt.
Dann habe ich entsprechend der definierten tpl Dateien jeweils eine blogtheme-menuname.tpl.php angelegt, und dieser über css jeweils ein Hintergrundbild zugewiesen.
Zum Schluss hab ich noch die notwendigen Blöcke angelegt, der header-Region zugewiesen und konfiguriert.

Damit der Block und damit das Hintergrundbild angezeigt wird, will der Block auch Inhalt. Da ich im Header nur das Hintergrundbild sehen möchte, habe ich einfach ein transparentes 1x1 Pixel kleines Bild als Inhalt eingefügt.

Diese Lösung ist ganz sicher nicht die Eleganteste, und so manchem Drupal-Fachmann würden jetzt wahrscheinlich die Haare zu Berge stehen, aber für mich ist es derzeit die Einzige, die mich ans Ziel gebracht hat.

Bisher habe ich das erst mal nur in meiner lokalen Installation umgesetzt, aber sobald ich mein Theme etwas überarbeitet habe, werde ich das hier auf der Seite schnellstmöglich nachholen.

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Zeilen und Absätze werden automatisch erzeugt.

Weitere Informationen über Formatierungsoptionen

CAPTCHA
Diese Angabe ist leider notwendig um automatisierte SPAM-Beiträge zu verhindern.
4 + 15 =
Lösen Sie dieses einfache mathematische Problem und geben Sie das Ergebnis ein. Für 1 + 3 geben Sie z.B. 4 ein.
     

2008 by be©hti.de ~ Login