[Menüfrage] Getrennte Unterseiten je Hauptseite

  • Hallo zusammen,

    habe folgende Frage:

    Würde gern eine Seite mit WP erstellen. Dabei sollen mehrere Hauptseiten erscheinen, die auch alle immer sichtbar sein sollen. (Horizontal)

    Je nach Hauptseite möchte ich aber quasi eine zweite Navigation (senkrecht), bei der lediglich einige Unterseiten (je nach Hauptseite) erscheint. Diese Unterseiten sind jeweils von der entsprechenden Hauptseite abhängig.

    Hat jemand einen Tip wie ich dies regeln kann ?

    Danke für Eure Hilfe.

    Marco

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Danke.

    Leider bin ich im englischen jetzt nicht sooo sehr bewandert. Daher habe ich das was ich genau suche glaube ich nicht gefunden.

    Gibt es auch die Möglichkeit, das die Unterseiten quasi in einer anderen Navigation liegen und vor allem unterschiedlich angezeigt werden ?

    also als Beispiel:

    Horizontal: Seite 1 / Seite 2 / Seite 3
    Senkrecht:
    bei Seite 1: Seite 1.1
    Seite 1.2
    bei Seite 2: Seite 2.1
    Seite 2.2
    Seite 2.3
    bei Seite 3: Seite 3.1
    Seite 3.2

    Die Unterseiten sollen also nur sichtbar sein, wenn die entsprechende Hauptseite aktiv ist.

  • Die deutsche Doku ist an der Stelle leider nicht so ausführlich, daher möchte ich dich nicht darauf hinweisen. Ich kopier dir das Beispiel aber gerne heraus:

    Hauptnavigation:

    PHP
    <ul>
      <?php wp_list_pages('title_li=&depth=1'); ?>
    </ul>


    Unterseiten der aktuellen Seite bzw. der Hauptseite der aktuellen Seite, falls du auf einer Unterseite bist:

  • oh Danke.

    Muss ich an dem Code noch was ändern ? also Unterseiten auflisten oder so ?

    und vor allem wo baue ich diesen code dann ein ?

    Sorry für die Mühe und schon mal vielen Dank.

  • oh Danke.

    Muss ich an dem Code noch was ändern ? also Unterseiten auflisten oder so ?


    Erstmal nicht. Höchstens noch deine ID/Klasse in das <ul>-Tag eintragen. Aber für das Listing selbst reicht das so vollkommen aus.

    Zitat

    und vor allem wo baue ich diesen code dann ein ?


    An der Stelle wo du das Menü ausgeben möchtest. Also vermutlich irgendwo in der header.php, wenn das Menü auf jeder Seite oben stehen soll.

  • Wie gesagt möchte ja die Hauptnavigation mit den ganzen Hauptseiten horizontal aufbauen (so wie auch ich das sehe im Header), aber die jeweiligen Untermenüs sollen dann bei dem mir zugrunde liegendem Template quasi in der sidebar stehen. Also senkrecht.

    Kannst Du mir nochmal sagen wo ich welchen Code einfügen muss ?

  • Wie gesagt möchte ja die Hauptnavigation mit den ganzen Hauptseiten horizontal aufbauen (so wie auch ich das sehe im Header),


    Dann lass den Header so wie er ist. Du solltest da ja eine Zeile ähnlich dieser hier sehen:

    PHP
    <?php wp_list_pages('title_li=&depth=1'); ?>


    Eventuell solltest du noch den "depth"-Parameter dort einfügen, um wirklich nur die oberste Ebene anzuzeigen.

    Zitat

    aber die jeweiligen Untermenüs sollen dann bei dem mir zugrunde liegendem Template quasi in der sidebar stehen.


    Dann kommt der 2. Teil des Codes, also der Teil der die Unterseiten ausgibt in die sidebar.php


    an der Stelle wo du es dann ausgegeben haben möchtest.

  • Hab jetzt aber doch noch einen Zusatz.

    Wenn ich eine Seite in dritter Ebene anlege, wird dies bei der Navigation erste und zweite Ebene auch angezeigt.

    Allerdings ist, wenn ich auf die Seite der dritten Ebene wechsele, die Seite der zweiten Ebene in der senkrechten zusätzlichen Navigation verschwunden.

    Die soll aber auch dargestellt werden. Was muss ich denn hier im Code ändern ?

    Außerdem ist aufgrund des style.css die dritte ebene als aktiv gesetzt, obwohl die zweite angesprochen ist. diese erscheint auch aktiv. allerdings die dritte auch gleich mit...

    hat das was miteinander zu tun, oder wie kann ich das ändern...

    Danke.

    Gruß Marco

    Einmal editiert, zuletzt von Pulli (3. August 2008 um 22:42)

  • Hallo marX,

    das funktioniert bei mir super, aber leider stehe ich jetzt ein wenig auf der Leitung.
    Wie bekomme ich es hin daß die Untermenüpunkte direkt unter der Hauptkategorie kommen und nicht am Ende der Liste?
    Beispiel Startseite: Startseite - ASC St. Martin in Passeier - Sektion Fußball und Mannschaften: Mannschaften - ASC St. Martin in Passeier - Sektion Fußball dort sollten die Mannschaften unter Mannschaften stehen eventuell mit Einzug was ich dann aber mit CSS erledige.

    Wie oder wo fange ich am besten an?

    Danke schonmal für eure Tips
    fahluk

    if ($Problem == 0) echo 'Perfekt'; else echo 'Frag im WPD-Forum';

  • Hab jetzt aber doch noch einen Zusatz.

    Wenn ich eine Seite in dritter Ebene anlege, wird dies bei der Navigation erste und zweite Ebene auch angezeigt.

    Allerdings ist, wenn ich auf die Seite der dritten Ebene wechsele, die Seite der zweiten Ebene in der senkrechten zusätzlichen Navigation verschwunden.

    Die soll aber auch dargestellt werden. Was muss ich denn hier im Code ändern ?


    Mmh, ich glaub da ist der code tweas unflexibel. $post->post_parent kennt immer nur den direkten Vorfahr der Seite, mit mehreren Ebenen musst du etwas mehr umbasteln.

    Zitat

    Außerdem ist aufgrund des style.css die dritte ebene als aktiv gesetzt, obwohl die zweite angesprochen ist. diese erscheint auch aktiv. allerdings die dritte auch gleich mit...


    Dann schreib die style.css entsprechend um, so dass nur der direkte Inhalt anders dargestellt wird, und weitere Listen innerhalb wieder normal. "Vererbung" ist das Stichwort. ;-)

  • Hallo marX,

    das funktioniert bei mir super, aber leider stehe ich jetzt ein wenig auf der Leitung.
    Wie bekomme ich es hin daß die Untermenüpunkte direkt unter der Hauptkategorie kommen und nicht am Ende der Liste?
    Beispiel Startseite: Startseite - ASC St. Martin in Passeier - Sektion Fußball und Mannschaften: Mannschaften - ASC St. Martin in Passeier - Sektion Fußball dort sollten die Mannschaften unter Mannschaften stehen eventuell mit Einzug was ich dann aber mit CSS erledige.

    Wie oder wo fange ich am besten an?

    Danke schonmal für eure Tips
    fahluk


    Ich glaube du möchtest etwas anderes. Du suchst wahrscheinlich eher ein "Folding" Plugin. Schau dir mal dieses hier an:
    Collapsable, Foldable, Expandable Page Menus for Wordpress: The Fold Page List Plugin

    Dafür gibts auch ein Widget, falls du Widgets nutzt. Das kannst du aber selbst suchen. ;-)

  • okay lt. Kunden soll es jetzt doch ein wenig anders.

    Folgendes habe oben horizontal eine Navi mit Seiten erster Ebene.

    Dann habe ich links die Sidebar, hier sollen nun jeweils Seiten der zweiten Ebene (entsprechend zu zugeordneten ersten ebene erscheinen). Wenn nun eine zweite Ebene noch eine dritte Ebene hat, soll diese erst bei klick auf die zweite Ebene in der Sidebar erscheinen.

    Hoffe ich habe es einigermaßen deutlich gemacht.

    Hier noch ein kleiner Link wo man mein Problem sehen kann.

    casanaprojekt - Entwicklungsgesellschaft für Gesundheitsimmobilien mbH & Co. KG

    Bei Unternehmen gibt es z.B. die Unterpunkte Profil, Geschäfsfelder, Objektarten. Die Seiten der dritten Ebene sollen vorab nicht erscheinen. Erst wenn man auf Geschäftsfelder klickt, sollen die Punkte

    erscheinen.

    Du siehst im moment auch den Fehler, wenn Du auf Geschäftsfelder, sowie auf die Punkte in dritter Ebene schaust. Dann ist derzeit irgendwie alles auf active bzw. hover gesetzt. Soll natürlich auch nicht.

    Wäre super, wenn Du mir da weiterhelfen könntest.

    Halt: hilft mir eventuell auch das Fold-Page-List Plugin ? Ist ja an sich sowas, nur das ich zum einen die Seiten erster Ebene mit aufnehmen will, und es sollen immer nur gewisse Unterseiten (je nach Hauptseite) angezeigt werden... oh ich steh auf dem Schlauch...

    Vielen Dank schon mal vorab.

    Einmal editiert, zuletzt von Pulli (5. August 2008 um 14:22)

  • Mmh, ich glaub da ist der code tweas unflexibel. $post->post_parent kennt immer nur den direkten Vorfahr der Seite, mit mehreren Ebenen musst du etwas mehr umbasteln.


    Dann schreib die style.css entsprechend um, so dass nur der direkte Inhalt anders dargestellt wird, und weitere Listen innerhalb wieder normal. "Vererbung" ist das Stichwort. ;-)

    Ja das glaube ich Dir...leider bin ich nur ein wenig begabter coder, so das ich grade so mit hängen und würgen diverse dinge hinkriege...aber auch mehr oder weniger nur durch tricksen und testen. an sich ja auch in ordnung, nur muss die seite leider morgen soweit fertig sein...:?

  • Halt: hilft mir eventuell auch das Fold-Page-List Plugin ? Ist ja an sich sowas, nur das ich zum einen die Seiten erster Ebene mit aufnehmen will, und es sollen immer nur gewisse Unterseiten (je nach Hauptseite) angezeigt werden...


    Japp, da sollte dir auch das Folding-Plugin helfen. Das setzt du dann eben nur für die $children ein. Also Plugin runterladen und installieren, und hier:


    die Funktionsaufrufe austauschen wie in der Doku des Plugins erklärt. Wenn ich das richtig in Erinnerung habe verwendet das Plugin ebenfalls erweiterte Klassen, so dass du's einfacher mit dem Styling hast.


    Zitat

    leider bin ich nur ein wenig begabter coder, so das ich grade so mit hängen und würgen diverse dinge hinkriege...aber auch mehr oder weniger nur durch tricksen und testen. an sich ja auch in ordnung,


    Ja nu, das ist ja kein Problem. Und das Forum hilft ja in solchen Fällen auch gerne weiter. Sag einfach, was genau das Problem ist, und wir helfen dir weiter.


    Zitat

    nur muss die seite leider morgen soweit fertig sein...


    Mmh. Das ist leider dein Problem, sorry. Ich helfe hier gerne weiter, genau wie viele andere hier. Aber da das alles auf freiwilliger Basis geschieht kann's halt schon sein, dass das auchmal ein wenig länger dauert.

  • nein nein, das sollte ja auch gar nicht heißen, das ich drängeln will...ist mir klar, das es manchmal etwas dauern kann. wie gesagt so war das nicht gemeint.

    ich rechne es auch jedem der hier hilft ganz hoch an. das finde ich wirklich super, das es hier so viele hilfsbereite user gibt. also das hast du vermutlich falsch verstanden. sicherlich verlange ich hier nichts...sosollte das nicht rüberkommen.

    So hab das plugin jetzt installiert und das klappt auch gut soweit. allerdings kann ich dort anscheinend die unterpunkte nicht mehr so sortieren wie ich will. die reihenfolge ist lediglich alphabetisch, so wie ich das sehe. habe aber bei den seiten jeweils eine reihenfolge eingegeben. weißt du ob ich dies in dem plugin nach meinen wünschen ändern kann ?

    aber ich habe soeben gesehen, das ich noch immer das problem habe, das die oberpunkte verschwinden, wenn ich eine seite in dritter ebene anklicke...

    und nochmal kurz zu dem css problem. wie kann ich denn dort hinterlegen, das nicht gleich alle seiten dritter ebene "active" sind ? ich denke mal ich müsste sicherlich ne neue klasse oder so anlegen richtig ?

    wie gesagt leider bin ich beim coden nicht so sehr der fuchs. von daher würde ich mich freuen, wenn du mich ein wenig auf die sprünge helfen könntest.

    vielen dank.

    Einmal editiert, zuletzt von Pulli (5. August 2008 um 15:57)

  • nein nein, das sollte ja auch gar nicht heißen, das ich drängeln will...ist mir klar, das es manchmal etwas dauern kann. wie gesagt so war das nicht gemeint.


    Schon klar, ich hab das schon so aufgefasst wie du das meintest. Ich wollte ja auch nur sagen, dass das eben dein Problem ist, wenn du deinen Zeitplan nicht erfüllen kannst. Da musst du selbst an dir und deinen Fähigkeiten arbeiten. Dein Hinweis auf den Zeitplan ist zwar interessant, aber tangiert uns hier wirklich nur peripher. Ist nicht böse gemeint von mir, nur ein gut gemeinter Hinweis. ;-)


    Zitat

    So hab das plugin jetzt installiert und das klappt auch gut soweit. allerdings kann ich dort anscheinend die unterpunkte nicht mehr so sortieren wie ich will. die reihenfolge ist lediglich alphabetisch, so wie ich das sehe. habe aber bei den seiten jeweils eine reihenfolge eingegeben. weißt du ob ich dies in dem plugin nach meinen wünschen ändern kann ?


    Du kannst die normalen Parameter von wp_list_pages() verwenden, so auch z.B. orderby=menu_order.


    Zitat

    aber ich habe soeben gesehen, das ich noch immer das problem habe, das die oberpunkte verschwinden, wenn ich eine seite in dritter ebene anklicke...


    Ja. Das liegt wie schon gesagt daran, das $post->post_parent eben nur den direkten Vorfahr kennt. Du brauchst aber die Folded Liste der obersten Elternseite... Irgendwann hatte wir die Problematik hier im Forum schon mal, vielleicht finde ich den Thread noch.

    Edit: Hier ist er... aber so wirklich zu ner Lösung kamen wir da leider auch nicht. Aber vielleicht hilft dir ja Alphas Plugin-Vorschlag "Navigo" weiter...
    http://forum.wordpress-deutschland.org/design/34336-e…r-ausgeben.html

    Zitat

    und nochmal kurz zu dem css problem. wie kann ich denn dort hinterlegen, das nicht gleich alle seiten dritter ebene "active" sind ? ich denke mal ich müsste sicherlich ne neue klasse oder so anlegen richtig ?


    Du machst alle Links unterhalb von .current_page_item fett. Das betrifft natürlich auch die Unter-Unterseiten:

    Code
    #sidebar ul li.current_page_item a {} /* style.css, Zeile 389)


    Hier könntest du entweder Vererbungsselektoren verwenden (funktioniert in weniger aktuellen Browsern weniger gut bis gar nicht), oder du setzt explizite Regeln für tiefere Ebenen.
    (Ich würde dir einen Mix empfehlen: Vererbungsselektoren wie ">" für die Browser die diese kennen, und für den IE6 ein Extra-Stylesheet mit umfangreicheren aber weniger anfälligen Regeln per Conditional Comments)

  • Schon klar, ich hab das schon so aufgefasst wie du das meintest. Ich wollte ja auch nur sagen, dass das eben dein Problem ist, wenn du deinen Zeitplan nicht erfüllen kannst. Da musst du selbst an dir und deinen Fähigkeiten arbeiten. Dein Hinweis auf den Zeitplan ist zwar nett, aber interessiert hier nicht wirklich jemanden. Ist nicht böse gemeint von mir, nur ein gut gemeinter Hinweis. ;-)

    ja nee schon klar. sorry. denke wir sind uns einig.


    Zitat

    Du kannst die normalen Parameter von wp_list_pages() verwenden, so auch z.B. orderby=menu_order.

    hmm...sorry, aber wo mache ich das ? denke mal in dem code, den du mir schon mal gepostet hattest oder ? kannst du mal mit dem zaunpfahl winken ?


    Zitat

    Ja. Das liegt wie schon gesagt daran, das $post->post_parent eben nur den direkten Vorfahr kennt. Du brauchst aber die Folded Liste der obersten Elternseite... Irgendwann hatte wir die Problematik hier im Forum schon mal, vielleicht finde ich den Thread noch.

    Edit: Hier ist er... aber so wirklich zu ner Lösung kamen wir da leider auch nicht. Aber vielleicht hilft dir ja Alphas Plugin-Vorschlag "Navigo" weiter...
    http://forum.wordpress-deutschland.org/design/34336-e…r-ausgeben.html

    Schau ich mir mal an.


    Zitat

    Du machst alle Links unterhalb von .current_page_item fett. Das betrifft natürlich auch die Unter-Unterseiten:

    Code
    #sidebar ul li.current_page_item a {} /* style.css, Zeile 389)

    Hier könntest du entweder Vererbungsselektoren verwenden (funktioniert in weniger aktuellen Browsern weniger gut bis gar nicht), oder du setzt explizite Regeln für tiefere Ebenen.
    (Ich würde dir einen Mix empfehlen: Vererbungsselektoren wie ">" für die Browser die diese kennen, und für den IE6 ein Extra-Stylesheet mit umfangreicheren aber weniger anfälligen Regeln per Conditional Comments)

    ah ja den fehler sehe ich. kannst du mir auch bei dem css befehl ein wenig auf die sprünge helfen ? wie weise ich diesen extra stylesheet zu ?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!