1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Komplexes Collapsing Menü

Dieses Thema im Forum "Design" wurde erstellt von n811, 2. September 2009.

  1. n811

    n811 New Member

    Registriert seit:
    2. September 2009
    Beiträge:
    3
    Zustimmungen:
    0
    Guten Morgen werte Wordpress Community,

    ich brauche eure Hilfs, Tipps & Anregungen!

    Konkret geht es um ein vertikales Collapsing Menü, wie etwa dass hier.

    Um euch erstmal eine Vorstellung davon zu geben, was am Ende überhaupt herauskommen soll, hier mal ein paar Eckdaten:

    Visueller Eindruck:
    [​IMG]

    - Parentpages sollen einen Pfeil bekommen. Wenn man auf ihn Klickt fahren die Childpages aus, dies sollte unendlich Tief funktionieren. (die Parentpage wird dabei nicht aufgerufen)

    - Parentpages sollen aber auch als normale Pages funktionieren. Klickt man nicht auf den Pfeil, sondern auf den Titellink kommt man zur dementsprechenden Page, ohne das das Menü ausfährt. Ist man auf dieser Page ist das Menü entsprechend ausgefahren

    - Das Menü soll auch bei einem erneuten Seitenaufruf in dem Zustand bleiben, in dem der User es hatte. (Ausgefahrene Menüs sollen offen bleiben, Geschlossene geschlossen)


    Jetzt zu meinen Problemen:

    1. Pfeil Problem:

    Da wp_list_pages mir keine Möglichkeit bietet ausserhalb des <a> ein anderes Element, wie in diesem Fall dem Pfeil, unterzubringen habe ich die Sache mit nem kleinen Hack gelöst.

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Nun habe ich neben jedem Link einen netten Pfeil.
    Das Problem ist allerdings: Ich möchte dem Pfeil, sinnvoller Weise, nur bei Links sehen die auch Subpages haben. Und es soll eine Pages-mit-Childpages CSS Klasse geben.

    Wie könnte ich diese Unterscheidung zwischen Normalen Pages und Pages die auch Subpages haben, treffen?

    2. Zustandsübergabe

    Wie würdet ihr die vom User ausgewählen Zustände (Aufgeklappt|Zugeklappt) übergeben? Wenn die Seite gewechselt wird / ein neuen Seitenaufruf entsteht. Cookie? JS? Sonstiges?



    Vielen Dank im Voraus!! Ich werde das fertige Menü natürlich hier zum Download anbieten.
     
    #1 n811, 2. September 2009
    Zuletzt bearbeitet: 2. September 2009
  2. n811

    n811 New Member

    Registriert seit:
    2. September 2009
    Beiträge:
    3
    Zustimmungen:
    0
    Okay,

    das Speichern der Zustände mit Jquery/Cookie Plugin funktioniert soweit. Wer wissen will wie's geht => http://www.scottdarby.com/2009/06/how-to-build-persistent-expandable-collapsible-navigation-jquery-cookie-plugin/



    Allerdings ist das das Pfeil-Partentpage Problem noch immer nicht gelöst. :(

    Frage nochmal: Gibt es eine Möglichkeit zu erkennen ob ein Menüpunkt noch Subpages hat?

    Damits am Ende so in etwa aussieht?

     
  3. Rarehero

    Rarehero Well-Known Member

    Registriert seit:
    27. August 2009
    Beiträge:
    67
    Zustimmungen:
    0
    Ich würde das ja mit CSS machen. Das könnte dann so aussehen;

    HTML-Code:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Und der dazugehörige CSS-Code
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Die Deklaration

    #menu li ul { display: none }

    bewirkt, dass die Unterpunkte ausgeblendet sind, bis man mit der Maus über den übergeordneten Menüpunkt fährt

    #menu li:hover ul { display: block }

    Die Deklaration für den Selektor "#menu primary a" bindet ein "Pfeil nach Unten" in die übergeordnete Schaltfläche ein.

    Wenn du das Menü mit HTML und CSS baust, hast du den Vorteil, dass das Menü auf jeden Fall funktioniert, auch wenn der Besucher deiner Webseite möglicherweise JavaScript deaktiviert hat. Außerdem sparst du dir ein weiteres JavaScript auf deiner Webseite und ich denke, dass die Handhabung mit HTML und CSS einfacher ist. Als abschließendes Beispiel nochmal der gesamte Code für meine Navigation (die derzeit aber nicht verwende, da ich möglichst wenige Menüpunkte verwenden möchte)

    HTML-Code:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    CSS-Code:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  4. n811

    n811 New Member

    Registriert seit:
    2. September 2009
    Beiträge:
    3
    Zustimmungen:
    0
    Okay, aber das ist ja gar nicht das Problem:

    Wie bekomme ich den z.B. deine Klasse :class="primary", nur bei Pages die Kinder haben, ins Menü?

    Ich will die Sache ja nicht Hardcoden sondern per wp_list_pages realisieren.


    In Etwa so:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Bisher hab ichs nur geschafft den Pfeil hinter JEDES Listitem zu packen

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Ich möchte aber, dass nur Listitems die auch Kinder haben nen Pfeil bekommen...


    Achja für Leute die kein JS haben:
    Aber darum gehts ja gar nicht....
     
    #4 n811, 9. September 2009
    Zuletzt bearbeitet: 9. September 2009
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden