407 Nachrichten unter 107 Themen von 101 Mitgliedern
[SilverStripe Roadmap][Changelog]

Simples Menü mit mehreren Ebenen

Seite: 1 541 mal gelesen
  • Bereusei
    Bereusei Community Member
    3 Beiträge

    Simples Menü mit mehreren Ebenen

    Hallo,

    ich hoffe, ich poste meine Frage ins richtige Forum. Ich versuche mich in Silverstripe einzuarbeiten und bin auf ein Problem gestoßen.
    Ich habe ein Menü mit drei Ebenen:

    -Menü1
       -Submenu1
          -Projektname1
          -Projektname2
       -Submenu2
          -Projektname3
          -Projektname4
    -Menü2
       -Submenu3
          -Projektname5
          -Projektname6
       -Submenu4
          -Projektname7
          -Projektname8

    Alle Menü-, Submenü- und Projektenamen-Punkte haben im Backend den Seitentyp "Seite".

    Wenn ich auf der Startseite bin, habe erst ein Hauptmenü mit den Buttons "Menü1", "Menü2"
    Klick ich auf Menü1 erscheint das Submenü mit den Buttons "Submenü1" und "Submenü2"
    Klick ich weiter auf "Submenü2" erscheint Projektname 3 und 4.

    Das funktioniert auch so weit so gut. Aber wie bekomme ich es hin, dass der Inhalt der Menü-, Submenü- und Projektenamen-Seiten nicht geladen wird, sondern solange auf der Inhalt der Startseite bis ich bei den Projektnamen angelangt bin.

    Hier ist der Code von meinem Menü, vielleicht wird es so deutlicher was ich meine:
    <ul>
       <% control Menu(1) %>   
          <li class="$LinkingMode">
             <a href="$Link" title="Go to the $Title.XML page" class="$LinkingMode">
                <span>$MenuTitle</span>
             </a>
          </li>
       <% end_control %>
    </ul>

    <% if Menu(2) %>
       <ul>
          <% control Menu(2) %>
          <li class="$LinkingMode">
             <a href="$Link">$MenuTitle</a>
          </li>
          <% end_control %>
       </ul>
    <% end_if %>

    <% if Menu(3) %>
       <ul class="subsubmenu">
          <% control Menu(3) %>
          <li class="$LinkingMode">
             <a href="$Link">$MenuTitle</a>
          </li>
          <% end_control %>
       </ul>
    <% end_if %>

    Gruß,
    Sascha
  • Izeroy
    Community Member
    211 Beiträge

    Re: Simples Menü mit mehreren Ebenen

    Hallo Sascha,
    ich hoffe ich habe deine Frage richtig verstanden.

    Also wenn du willst dass sich sozusagen nur das Menü aufblendet. Dann musst du dies mit Javascript lösen.

    Nur ein kleiner Ansatz meinerseits.

    <ul>
    <% control Menu(1) %>
    <li class="$LinkingMode">
    <a href="$Link" title="Go to the $Title.XML page" class="$LinkingMode" onclick="javascript:document.getElementById('$ID').style.display = 'block'; return false;">
    <span>$MenuTitle</span>
    </a>
    <% if Children %>
    <ul class="hidden" id="$ID">
    <% control Children %>
    <li class="$LinkingMode">
    <a href="$Link">$MenuTitle</a>
    </li>
    <% end_control %>
    </ul>
    <% end_if %>
    </li>
    <% end_control %>
    </ul>


    Dies ist rein theoretisch, also nicht getestet. Aber so in etwa musst du es machen. Und dann noch die 3. Ebene einbinden, in der der Javascript Teil wegbleibt, weil du dann ja auch in den Inhaltsteil springen willst.

    Greetz
    Benjamin

    Weitere Fragen?! Meld dich einfach! MSN: benjamin.buessenschuett@hotmail.de ICQ: 354 848 193 Webseite: www.silverstripe-hilfe.de

Zur Zeit online: Zur Zeit ist leider niemand online.

Wir begrüßen unsere neuen Mitglieder: saerdna