[gelöst] Menu: Submenu in Blöcke unterteilen

am 26.02.2012 - 16:01 Uhr in
Hi,
als Umsteiger auf Drupal stoße ich ausgerechnet an einem Punkt auf Verständnisschwierigkeiten, wo es bei so einem "alten Hasen" wie Drupal keine Probleme geben dürfte: Menus.
Ich habe stundenlang in div Anleitungen und Modulen gestöbert, bin aber nicht richtig weitergekommen (vielleicht auch die falschen Suchbegriffe probiert).
Was ich von einer statischen Seite nachbilden will ist dies:
- Hauptmenu ist Zeile oben
- 1. Submenu dazu (1. child) ist links in der Spalte
Da aber die Listen meist sehr lang und unübersichtlich werden können,
sollen diese Links in sinnvolle Abschnitte (Blöcke) mit Zwischenüberschrift
unterteilt werden. Dabei könnte diese Unerteilung dergestalt passieren,
dass diese Unterblöcke mit Headlines einfahc aus dem 2. Child gebildet werden:
der 2. Child würde also nicht mit einem Node verknpüft sein, sondern
rein unterteilende, dekorierende Aufgaben erfüllen. Allenfalls sollte der Block zuklappbar sein. - Darin gelistet sind alle Elmente des 3. Child
- die nächse Ebene (4.child) wäre versteckt und nur bei Bedarf oder wenn current, ausgeklappt.
================================================
Hauptmenu-Zeile: A | B(current) | C | D
================================================
Submenu-Spalte:
==============================
B.1 (headline, nicht klickbar, immer ausgeklappt)
-----------------------------------------
B.1.1
B.1.2
B.1.3
==============================
B.2 (headline, nicht klickbar, immer ausgeklappt)
-----------------------------------------
B.2.1 (eingeklappt)
B.2.2 (current, ausgeklappt)
B.2.2.1
B.2.3.2 (current)
B.2.3 (eingeklappt)
Anbei auch der Screenshots des Menus meines Providers als einfaches Beispiel für diese Unterteilung.
Möglicherweise könnte das "Taxonomy Menu" oder "Menu Block" das richtige Modul sein, oder irgendwas mit "views"?
Aber ich frage mich natürlich ob mein Wunsch so abwegig ist, dass er nicht über den Core umsetzbar wäre.
Mir fällt nur auf das viele (auch gelobten) Drupalseiten, die ich studiert habe, genau das Problem mit den unübersichtlichen überlangen Menus haben, wenn viel Content vorhanden ist. Geht das klassische Menukonzept nicht Drupal zusammen?
Ich bin eher aus der Designerecke und luftige und übersichtliche Seiten und Menus sind hier ein Standard, den wir immer halten wollen.
Für Tipps und weiterführende Hinweise wäre ich wirklich sehr dankbar!
Anhang | Größe |
---|---|
Bildschirmfoto 2012-02-26 um 15.51.24.png | 25.56 KB |
- Anmelden oder Registrieren um Kommentare zu schreiben
Menu Block
am 27.02.2012 - 19:17 Uhr
Soweit ich das sehe, solltest du mit Menu Block weiterkommen. Allerdings mache ich es immer so, dass du bei einem Klick auf einen der Hauptmenü-Punkte auch auf eine echte Seite kommst. Wenn es dafür keine Inhalte gibt, dann kann man dort zumindest Teaser auf die Untermenüpunkte unterbringen.
Mir fällt nur auf das viele (auch gelobten) Drupalseiten, die ich studiert habe, genau das Problem mit den unübersichtlichen überlangen Menus haben, wenn viel Content vorhanden ist. Geht das klassische Menukonzept nicht Drupal zusammen?
Unsichtbare Elternelemente?
am 27.02.2012 - 20:30 Uhr
Hi Nicolai, danke sehr für die Antwort! - Ich bin gerade etwas frustriert, dass etwas so Unerwartetes wie Menus (im Gegensatz zu Contao) plötzlich Schwierigkeiten macht. :-)
Unter "klassisches Menukonzept" verstehe ich, keine Menus zu haben, die mehr als ca. 5-6 Siblings haben. Ich habe tatsächlich sehr unterschiedliche Untermenus und muss diese der Übersicht halber strukturieren: Du hast meine Schwierigkeit genau erkannt. Aber das ist auch Geschmacksache und das "warum" nicht mein eigentliches Thema hier.
Das ich Teaserseiten machen muss, habe ich eingesehen. Das ist die Drupal-Denke und wenn ich dagegen an arbeite, komme ich in Schwierigkeiten. Da mache ich lieber ein paar Zwischenseiten, wie die kategorie-Seite bei einem Shop (obwohl ich mir das Modul "first child" noch mal ansehen werde).
Mit Menu Blocks bin ich aber stecken geblieben - vermutlich ist da irgendwo ein Denkfehler.
Meine 3 Submenblöcke (die 2.-n.child des Hauptmenus sind) enthalten alle, welch Wunder, die gleichen Einträge.
Ich weiss nicht wie ich den enthaltenen Links beibringe, zu welchem Block sie nun gehören sollen.
Wenn ich eine "versteckte" Zwischenkategorie anlege (im Beispiel unten a-c), so wie der Menu-Block Autor es grob in seinem Blog anscheinend andeutet, erzeuge ich einen Wust vom Pseudo-Nodes.
Submenu Block "a"
B-a-1
B-a-2
Submenu Block "c"
B-b-1
B-b-2
Submenu Block "c"
B-c-1
B-c-2
Ich habe keinen Schimmer, wie der das gemacht hat. Er schreibt:
"What you can't see is that each column has a hidden parent menu item called "Column 1", "Column 2", etc"
http://www.palantir.net/blog/better-know-module-menu-block-part-ii
Ich glaube dass das genau die Lösung ist. Aber WIE!!!!
gelöst
am 27.02.2012 - 23:48 Uhr
Scheint so als ob das Problem gelöst ist (mal sehen wie es geht, wenn die Site sich füllt).
Es war eine Kombi aus "Menu-Block" und unter Ausnutzung wirklich aller Einstellmöglichkeiten des Moduls, zusammen mit "Menu FirstChild".
Und einer Prise Glück.
leider doch nicht gelöst
am 13.03.2012 - 01:36 Uhr
Leider funktioniert das alles nun doch nicht wie geplant, nachdem Inhalte dazugekommen sind. Weiss jemand, wie man das im Sinne von Drupal richtig macht?
Sowas wie hier: www.hanseaticaufsylt.de - oben das Hauptmenu und in der Sidebar ein in übersichtliche Blöcke unterteiltes Submenu.
Ich brauche ein möglichst einfaches System, was auch normale Menschen, die später Texte eingeben, verstehen.
Komisch, die komplexesten Sachen kann man realisieren, aber strukturell ganz einfache Menus nicht? Kann doch nicht sein, ich habe in meinem Kopf gerade irgendwie eine Blockade.
Special Menu Items ?
am 13.03.2012 - 07:10 Uhr
Hallo, bin durch Zufall über "Special Menu Items" gestolpert... vielleicht eine Lösung für dich?!
Außerdem gibt es noch "Menu Item Container", nur früher D7 patch in den "Issues" vorhanden.
kompliziert....
am 13.03.2012 - 12:35 Uhr
Ja ich habe mir die bereits angesehen. Special Menu Items und viel CSS - möglicherweise (einen Block wie zwei aussehen lassen).
Menu Item Container ist so dermaßen eine Baustelle, dass ich mich bisher nicht ernsthaft damit beschäftigt habe.
Ein Workaround wäre das Taxonomy Menu. Aber das wäre ein Eingeständnis, dass ich die Menustruktur komplett über Taxonomy nachbauen und Drupal-Menus quasi links liegen lassen. Das wäre mir nicht so recht.
Andere Empfehlungen im Web gehen dahin, ein eigenen Content Type oder sogar eine Subtemplate-Seite für jeden Hauptmenupunkt einzurichten.
Das klingt alles irgendwie recht verzweifelt, solche Wahnsinnsgebilde aufzubauen, nur um Menus übersichtlich präsentieren zu können. :-)
Menus strukturieren zu können ist der Dealbreaker. Wenn das nicht geht, nützt mir Drupal nichts, da mein Leute dann lieber bei Contao bleiben wollen.
Bevor man eine Art "MegaMenu"
am 13.03.2012 - 14:13 Uhr
Bevor man eine Art "MegaMenu" bestückt und auf-hübscht sollte natürlich die Struktur stehen. In der Regel verändert sich solch ein Menü auch nicht. Sollte es zumindest nicht ;-)
Ich gehe mal davon aus, dass in deinem Seitenmenü immer wieder neue Einträge dazu kommen !?...
Viel einfacher als bei Drupals internen Menüs kanns eigentlich kaum werden. Und das Erstellen eines MenuItems wird beim Erstellen des Inhaltes ja offensichtlich und recht einfach angeboten. (da gibt es ja ganz andere Systeme, nicht war ;-) )
Es gibt sogar ein Menu-Icons modul um grafische Symbole hochzuladen.
O.K. Separatoren sind mit SpecialMenuItems zusätzlich, aber doch recht sinnig machbar. (Die könnte man ja den Autoren zur Not vorgeben)
Sind wirklich viele und ständige Änderungen/Aktualisierungen von Nöten... dann kann es nur auf ein automatisches (Taxonomy)Menü hinaus laufen. Alles wird automatisch aktualisiert. Macht für mich dann mehr Sinn.
Danke!
am 20.03.2012 - 18:06 Uhr
Also, hier mein Ergebnis:
Mit dem noch für D7 unfertigen Modul "menu_block" funktioniert es was ich will, bisher ganz gut. Das Modul ist im UI sehr elegant. Aber noch etwas buggy. Allerdings wirken sich die Bugs bei mir nicht aus und es läuft. Wenn jemand Details wissen will, schreibe ich dann mehr dazu.
Ich bin sicher dass es noch andere Lösungswege gibt (TaxaomyMenu oder SpecialMenuItems) aber ich bin erst mal zufrieden: die Benutzung ist sehr übersichtlich und auch für Editoren nicht zu komplex. Die müssen eine Seite nur dem richtigen Block zuordnen, Weight einstellen, fertig.
Erst mal Danke für Euere Hilfe und Anregungen... das hat vor allem geholfen, den Kram nicht hinzuschmeißen sondern dranzubleiben :-)
menu_block
am 15.04.2012 - 05:40 Uhr
Hätte da die Frage bezüglich des "menu_block", ob du etwas detaillierter drauf eingehen könntest, da ich mir gerade arg die Zähne an Submenü's ausbeisse.
Sorry, bin gerade unterwegs
am 18.04.2012 - 12:04 Uhr
Sorry, bin gerade unterwegs und kann nur kurz antworten.
Die nicht zuende gedachte Menu-Geschichte ist m.E. ein echtes Ärgernis und eine große Schwachstelle an Drupal. Aber da beisst man auf Granit überall. Man merkt dass hier viele gute Programmierer am Werk sind, aber nicht unbedingt visuelle Gestalter.
Hilfe zum Modul habe ich hier gefunden:
http://www.palantir.net/blog/better-know-module-menu-block-part-ii
(es gibt dort irgendwo auch einen Teil 1)
Mit dem Modul kann man das Menu auf mehrere Blöcke unterteilen.
Es sieht dann aber immer noch hässlich aus, weil im vertikalen Menu nach wie vor alles lieblos untereinander geklatscht wird was bei 10+ Menupunkten unübersichtlich wird..
Ich benutze die inoffizielle D7 Vorversion von menu_item_container aus dem Repository, in der ich zusätzliche Tags reingehackt habe,
um das Ding mit CSS und JQuery besser ansprechen zu können. Leider wird das Modul für D7 nicht zügig entwickelt, obwohl es so nützlich ist.
Weiter musste ich im Theme noch einen Filter einbauen, der in den Breadcrumbs die Menu Container wegfiltert (einfach mit PHP filter_array).
Das ist ein solches Gefummel, dass ich das (noch) nicht als Tipp weiterempfehlen kann. Außerdem bin ich mit meiner Lösung auch noch nicht wirklich glücklich.