Kann ich das mit Drupal umsetzen?
am 26.05.2007 - 15:31 Uhr in
Hallo!
ich habe die Aufgabe, eine Webseite mittels eines
CMS umzusetzen -- die Wahl fiel auf Drupal.
Das Design habe ich bereits fertig -- leider pochte
der Auftraggeber auf ein sehr grafik-lastiges Menü,
zu sehen hier in diesem Screenshot.
Ich habe auch bereits Ideen, wie ich Teile davon
per CSS umsetzen kann, aber natürlich müsste ich
dazu jeden Menüpunkt individuell ansprechen können.
Leider habe ich bisher keine Funktionen diebzgl.
in Drupal gefunden -- gibt es sie überhaupt oder
muss ich dafür "tief" ins System?
Falls es in Drupal keine Chance gibt, das umzusetzen:
kennt ihr ein in diesem Bezug besseres CMS?
Hoffe, sowas darf man in einem Drupal-Forum fragen ;-)
Dank und Gruß
Pfoto
- Anmelden oder Registrieren um Kommentare zu schreiben

Mit dem Imagemenu-Modul
am 26.05.2007 - 16:24 Uhr
Mit dem Imagemenu-Modul http://drupal.org/project/imagemenu sollte sich sowas realisieren lassen.
In deinem konkreten Fall lässt sich das Menu aber auch komplett mit purem CSS umsetzen. Wäre eigentlich sinnvoller. Einzig die Kontur um die weisse Schrift des aktiven Punkts geht dann natürlich nicht.
Inhalte werden in Drupal im Normalfall über theme_whatever() ausgegeben. Alle theme_ Funktionen lassen sich fürs jeweilige Template überschreiben. Ausführliche Infos dazu findest du unter http://drupal.org/node/11811
So kannst du auch die Menupunkte eindeutig identifizerbar machen:
Die Ausgabe der Menupunkte erfolgt in includes/menu.inc ab Zeile 686:
<?phpfunction theme_menu_item($mid, $children = '', $leaf = TRUE) {
return '<li class="'. ($leaf ? 'leaf' : ($children ? 'expanded' : 'collapsed')) .'">'. menu_item_link($mid) . $children ."</li>\n";
}
?>
Diese Funktion wollen wir nun überschreiben. Dazu öffnen wir die template.php im Ordner deines Themes (falls die Datei nicht existiert, erzeuge sie) und packen folgenden Code rein, der jedem Menupunkt eine id hinzufügt.
<?phpfunction phptemplate_menu_item($mid, $children = '', $leaf = TRUE) {
return '<li class="'. ($leaf ? 'leaf' : ($children ? 'expanded' : 'collapsed')) .'" id="mid-'.$mid.'">'. menu_item_link($mid) . $children ."</li>\n";
}
?>
Eigentlich würde es für dein Beispiel sogar reichen, wenn nur der Homelink eine id hätte...
Ganz herzlichen Dank!
am 26.05.2007 - 16:47 Uhr
Ich werde mich gleich mal damit beschäftigen...
Wobei ich durch die angeschrägten Menüpunkte Probleme sehe, es nur per CSS umzusetzen,
sofern ich keine GIFs mit transparenten Ecken mache.
Sonst müsste ich z.B. bei einem "Hover" unterschiedliche Grafiken laden -- einmal wenn ein benachbartes Menüelement aktiv ist, ein anderes mal, wenn es nicht aktiv ist.
Die Grafiken eines Menüpunktes müssten ja quasi einen Teil ihres Nachbar-Menüpunktes mitanzeigen.
Na, schaun wa' mal...
Gruß
Pfoto