[gelöst] Nice-Menus: 2. Menüebene des Hauptmenüs auf eigener Seite anzeigen. Wie geht das?
am 30.04.2012 - 22:49 Uhr in
Ich habe schon in DP 6.x Nice-Menus eingesetzt, dort aber das klassische Drop-Down für die Untermenüs verwendet.
Nun muss ich mit DP 7.12 (in einem Subtheme von ZEN) ein Menü gestalten, das als Hauptmenü die 1. Ebene inline anzeigt, beim Klick auf einen der Menüpunkte die entsprechende Seite öffnet, bei der die Menüpunkte der 2. Ebene aber als Block auf der linken Seite dargestellt ist. Dieses Beispiel zeigt, was ich meine. Es sollte natürlich möglich sein, die Reihenfolge der aktiven Links bis hinauf zum Hauptmenü anzuzeigen, sodass man auch ohne Breadcrumbs die Zuordnung erkennt. Am genannten Beispiel z.B. die Reihe ÜBER PRO JUVENTUTE --> ORGANISATION --> Regionalleitung.
Wie kann ich also mit Nice_Menus die erste und die zweite Hierarchie-Ebene trennen? (Die 3. Ebene kann, wie auch im Beispiel, als Fly-Out der 2. Ebene gestaltet sein.)
Damke für Eure Hilfe.
Albert
- Anmelden oder Registrieren um Kommentare zu schreiben

Ich würde einfach zwei
am 01.05.2012 - 00:15 Uhr
Ich würde einfach zwei Nice-Menu Blöcke nehmen.
Die Menüs würde ich dann auch trennen, was du jetzt in der ersten Ebene hast, ist beispielsweise das Menü1 und was in der zweiten und dritte Ebene drinstehen soll ist z.B. das Menü2.
Den beiden Nice-Menu Block ordnest du diese Menüs dann zu.
Welche Blöcke an den Seiten angezeigt werden sollen kannst du über das Kontext-Modul steuern.
Gruß
Berthold Lausch
für drupal 6 gabs split menu
am 01.05.2012 - 05:08 Uhr
für drupal 6 gabs split menu oder menu split... weiß jeztt nicht genau obs das auch für drupal 7 gibt
Die Navigation aufteilen (in
am 01.05.2012 - 07:30 Uhr
Die Navigation aufteilen (in verschiedene Blöcke) geht unter Drupal 7 mit http://drupal.org/project/menu_block.
Menüebenen verbinden
am 01.05.2012 - 10:54 Uhr
Danke Berthold,
Die von Dir vorgeschlagenen Aufteilung (1. Menü-Ebene in Nice-Menu-1 und die 2+ Menü-Ebene in Nice-Menu-2) ist sicher eine gute Lösung. Kann man über das Kontext-Modul erreichen, dass die beiden Ebenen "verbunden" bleiben, also einen logischen Baum bilden? Es geht mir darum, dass der angeklickte Menüpunkt der ersten Ebene aktiv gekennzeichnet (z.B. mit einer geänderten Button-Farbe) bleibt, auch wenn man in einer unteren Ebene navigiert.
Herzliche Grüße
Albert
Nachtrag: in http://www.drupalcenter.de/node/33462 habe ich soeben die Antwort gefunden, dass das Context-Menü die logische Verbindung der beiden Menü-Ebenen ermöglicht.
menu-block geht nicht mit nice_menus
am 01.05.2012 - 11:37 Uhr
Danke Xeto,
Gemäß der Dokumentation macht menu_block genau das, was ich mir wünsche. Allerdings arbeitet (so habe ich es verstanden), menu_block mit der Drupal-internen Menüstruktur zusammen, nicht aber mit nice_menus. Nun ist das sanfte Einblenden der Menü-Punkte und der Fly-Outs, das mit nice_menus ermöglicht wird, schon eine schöne Sache. Siehst Du eine schon erprobte Möglichkeit (eventuell mit JavaScript. Superfish-Modul?), auch mit Verwendung von menu_block ein sanftes Einblenden zu erreichen?
Herzliche Grüße
Albert
Ich bin der Meinung, dass man
am 01.05.2012 - 12:25 Uhr
Ich bin der Meinung, dass man das gut mit nice-Menu hinbekommen kann.
Wenn ich mich recht erinnere, dann arbeitet nice-Menu nicht mit Menu Block zusammen.
Du sprichst den active-Trail an, der ja auch bei diesen gespitteten Menüs funktionieren soll.
Ich ganz es nicht mit Bestimmtheit sagen, aber ich meine, dass es funktioniert.
Ich habe mal folgendes getestet:
1. Nice Menu über drei Ebenen und der aktive Trail hat eine andere Hintergrundfarbe.
2. Nice Menu ist die zweite und dritte Ebene, wird an einer ganz anderen Stelle angezeigt.
Dann habe ich im 1. Nice-Menu einen Menüpunkt aus der dritten Ebenen im Menü deaktiviert.
Nun diesen Menüpunkt im 2. Nice-Menu ausgewählt, da ist ja auch enthalten, denn es sind da ja die zweite und die dritte Ebene drin.
Dabei wird der aktive Trail genau richtig angezeigt.
Es kann also sein, das man die Menüpunkte aus der zweiten und dritten Menüebene in beiden Menüs haben muß, damit dieser Zusammenhang bestehen bleibt, dann aber eben in dem ersten Menü als deaktiviert eintragen. Das funktioniert auf jeden Fall.
Gruß
Berthold Lausch
also entweder einfach ein
am 01.05.2012 - 12:25 Uhr
also entweder einfach ein entsprechendes jquery plugin einbinden oder aber super menu mal ausprobieren.
active-trail und active
am 01.05.2012 - 12:27 Uhr
active-trail und active müssten die entsprechenden Klassen heißen! Ja, diese gibt es. Habe ich in meinem Menü mal entsprechend gestylt...
Ich weiß nicht wie nice-menu arbeitet, aber wenn das Aufteilen der Ebenen dort klappt, dann müsste der Rest mittels CSS machbar sein.
active-Trail
am 02.05.2012 - 11:25 Uhr
Danke an alle,
ich werde also nice_menus verwenden und experimentieren. Wenn in diesem Zusammenhang eine Frage auftaucht, melde ich mich wieder.
Herzliche Grüße
Albert
"Web Developer" Plugin für
am 02.05.2012 - 12:47 Uhr
"Web Developer" Plugin für Firefox oder Chrome sollte dabei helfen. Da kannst du dir id/ class Werte anschauen und so sicherstellen, dass diese auch im Quellcode vorhanden sind.
Kontext Modul
am 06.06.2012 - 16:00 Uhr
Berthold empfahl mir:
Die Menüs würde ich dann auch trennen, was du jetzt in der ersten Ebene hast, ist beispielsweise das Menü1 und was in der zweiten und dritte Ebene drinstehen soll ist z.B. das Menü2.
Den beiden Nice-Menu Block ordnest du diese Menüs dann zu.
Welche Blöcke an den Seiten angezeigt werden sollen kannst du über das Kontext-Modul steuern.
Im wesentlichen habe ich das auch gemacht. Dass das Menü für die unteren Ebenen ein Accordion-Menü ist, ist wohl nur Formsache.
Das Kontext-Modul habe ich aktiviert, aber ich bitte um Hilfe, wie ich konkret damit die beiden Menü-Ebenen verbinden kann. Die dürftigen Readme's sind für User, die zum ersten mal dieses Modul konfigurieren sollen, unbauchbar. Siehe dazu auch meinen Thread http://www.drupalcenter.de/node/41782 .
Danke für Eure Hilfe.
Albert
Die Verbindung zwischen den
am 06.06.2012 - 18:46 Uhr
Die Verbindung zwischen den unterschiedlichen Nice-Menus (Menue1 und Menue2) ist ja gerade das Kontext-Modul.
Dort kannst du doch als Bedingung dafür, das ein Block (eben dein Untermenü) angezeigt wird, angeben, dass bestimmte Menüpunkte gewählt sind (also bei dir die passenden im Hauptmenü).
Das Kontext-Modul ist ganz einfach zu bedienen.
Es ist im Wesentlichen immer so, dass du eine Bedingung angibst und wenn diese Bedingung erfüllt ist, dann kannst du angeben, welche Blöcke angezeigt werden.
Eine ganz einfache Sache :-)
Gruß
Berthold Lausch
Kontext Modul
am 06.06.2012 - 22:21 Uhr
Danke Berthold,
Das Kontext-Modul ist ganz einfach zu bedienen
sicher, wenn man es kann.
In den Conditions habe ich gewählt: "Menü" und kann nur einen Menüpunkt markieren: Ich habe (jetzt einmal nur um die Reaktionen zu testen) den ersten des Submenüs "Gesellschaft heute" gewählt. (siehe kontext_1.jpg im Anhang).
Bei den Reactions habe ich ebenfall "Menü" gewählt (dieser Punkt erschien erst nach dem Abspeichern und Wiedereinstieg) und den Menüpunkt "Gesellschaft heute" des Hauptmenüs markiert.
Nochmals: Die Darstellung der Menüs (als Blöcke) habe ich schon gelöst. Es geht mir nun darum, dass der Menüpunkt im Hauptmenü AKTIV bleibt (also eine Klasse active oder active-trail) vorhanden ist, wenn man im zugehörigen Untermenü klickt. Das ist aber (mit meiner Einstellung) nicht der Fall. Selbst wenn es funktionieren würde, kann ich mir nicht vorstellen, dass ich für jede Menü-Kombination einen eigenen Kontext kreieren müßte. Was mache ich falsch?
In meinem schon erwähnten Thread (http://www.drupalcenter.de/node/41782) mit dem aktuellen Thema : Wie verbinde ich 2 räumlich getrennte Menüs mit Hilfe des Context-Moduls über einen durchgehenden Active-Trail? habe ich die Situation genauer beschrieben und ein Bild, das das Hauptmenü und ein Untermenü zeigt, angeführt.
Herzliche Grüße
Albert
Zitat: In den Conditions habe
am 06.06.2012 - 23:49 Uhr
In den Conditions habe ich gewählt: "Menü" und kann nur einen Menüpunkt markieren
Ich bin mir ziemlich sicher, dass man auch mehrer Menüpunkte markieren kann (Strg-Taste).
Als Reaktion muß dann nicht auch noch Menü gewählt werden, sondern dort läßt du den Block anzeigen, in dem du das zweite Nice-Menu hineingepakt hast.
Der Aktive-Trail ergibst sich dann ganz von selbst.
Ich denke mal, du hast das mit den zwei Nice-Menus nicht so ganz richtig verstanden.
Ich fass es noch mal kurz zusammen:
die erste Menüebene kommt in den ersten Nice-Menu Block
alle folgenden Menüebenen kommen in den zweiten Nice-Menu Block
(das sind zwei ganz unterschiedliche Menüs aufgeteilt auf zwei Blöcke)
Dann kommt das Kontext-Modul ins Spiel:
Wenn beim ersten Nice-Menu ein bestimmter Menüpunkt gewählt ist, dann wird z.B. auf der linken Seite der Block angezeigt, der die Menüpunkte für die zweite und folgende Ebene von dem ersten Menüpunkt enthält.
Also Condition: Menüpunkt ist gewählt
Reaktion: ein Block wird angezeigt, der das passenden Untermenü enthält.
Im übrigen: Bob hat, wenn ich mich recht erinnere, auch mal ein ganz gutes Video über das Kontext-Modul gemacht.
Ich hoffe, ich war jetzt etwas verständlicher....
Gruß
Berthold Lausch
Lösung gefunden!
am 07.06.2012 - 07:16 Uhr
Danke Berthold, wir haben in diesem Thread gegen Ende etwas aneinander vorbeigeredet. (Darum habe ich ja auch den erwähnten neuen Thread erstellt, auf den aber bis jetzt niemand geantwortet hat.). Aber nun habe ich aufgrund Deiner Hinweise nach und nach das Kontext-Modul besser verstanden.
Da ich ohnehin für jeden Menü-Punkt_x (es sind nur 4) des Hauptmenüs einen eigenen Inhaltstyp_x erstellt habe (weil damit die Block-Platzierung des entsprechenden Untermenüs_x einfach möglich ist), formulierte ich im Kontext-Modul als Condition: Node --> Inhaltstyp_x und als Reaction: Menü --> Hauptmenü -- Menü-Punkt_x, und siehe da: es erscheint dort ein class="active", wenn ich im Untermenü_x klicke.
Deine vorgeschlagene Methode würde sicher auch funktionieren.
Also nochmals Danke für Deine Hilfe.
Albert