Theming von Menü Blocks
am 20.10.2009 - 14:09 Uhr in
Hallo zusammen,
ich habe mehrere kleine Menüs, die als Blöcke auf der linken Seite angezeigt werden. Nun möchte ich bei einem der Blöcke per CSS verschiedene Icons (unterscheiden sich je nach Menüpunkt) verwenden.
Über die block-menu-xyz.tpl.php kommt man auch nicht weiter, da dort der ganze Block-Inhalt wie folgt ausgegeben wird:
<div class="content">
<?php print $block->content ?>
</div>
Die Menüpunkte werden durch die Funktion theme_menu_item() formatiert. Eine angepasste Funktion in die template.php einzubauen kommt auch nicht in Frage, da sich dies auf alle Menü-Blöcke auswirken würde (wie hier beschrieben: http://drupal.org/node/229205 )
Leider kann ich hierzu im Netz nichts brauchbares finden (außer eben erwähnten Post im drupal.org Forum - dort wird übrigens erwähnt, dass diese Funktion ein Feature Request für D7 ist).
Habt ihr vielleicht eine Lösung für mein Problem?
- Anmelden oder Registrieren um Kommentare zu schreiben
Du kannst Dir für jeden
am 20.10.2009 - 14:16 Uhr
Du kannst Dir für jeden Block eine eigenen block-xxx.tpl.php in Deinem Theme anlegen und entsprechend mit CSS themen. Analog zu node-xxx.tpl.php ...
Es gibt aber auch ein Modul ... Video daz: http://mustardseedmedia.com/podcast/episode13 oder zum Modul: http://drupal.org/project/blocktheme
---------------------------------------------------------------------------
NEU! Drupalseiten vorstellen, bewerten und kommentieren - Jetzt eintragen!
Das geht eben in diesem
am 20.10.2009 - 14:38 Uhr
Das geht eben in diesem Falle nicht.
Die block-menu-xxx.tpl.php sieht wie folgt aus:
<div id="block-<?php print $block->module .'-'. $block->delta; ?>" class="block block-<?php print $block->module ?>">
<?php if ($block->subject): ?>
<h3><span><?php print $block->subject ?></span></h3>
<?php endif;?>
<div class="content">
<?php print $block->content ?>
</div>
</div>
Problem ist die letzte PHP Zeile (print $block->content). Hier wird der Block-Inhalt ausgegeben. Die Menü-Liste ist dort enthalten. Man kommt folglich nicht an die einzelnen li-Tags heran und kann dort also auch keine eigenen Klassen definieren (die heißen standardmäßig alle "leaf").
Einzige Möglichkeit wäre per RegEx die $block->content zu bearbeiten, was sicherlich kein Spaß ist.
OK, hatte ich falsch
am 20.10.2009 - 14:49 Uhr
OK, hatte ich falsch verstanden ... dachte es geht nur "nur" um den Block.
Vielleicht wäre folgendes Modul was für Dich? http://drupal.org/project/imagemenu - Ich habe es noch nicht genutzt, aber es scheint laut Beschreibung das zu sein, was du suchst ...
---------------------------------------------------------------------------
NEU! Drupalseiten vorstellen, bewerten und kommentieren - Jetzt eintragen!