Ankündigung

Einklappen
Keine Ankündigung bisher.

Andere Menüpunkte auf verschiedenen Seite anzeigen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Andere Menüpunkte auf verschiedenen Seite anzeigen

    Hallo,

    Ich habe ein Menü Modul erstellt, dass ich immer mit einem include einbinde. Nun will ich, dass nur bestimmte Menüpunkte auftauchen oder verschwinden wenn ich verschiedene Seiten öffne. Aber verwendet wird trotzdem immer das selbe Menü-Modul.

    Kennt jemand den richtigen Ausdruck dafür oder ein kleines Beispiel?

    Vielen Dank für jegliche Hilfe.

    Gruß

  • #2
    Du musst dir überlegen, wie du bestimmst, welche Menüeinträge dargestellt werden sollen (über den aktiven URL beziehungsweise GET-Parameter), und dann nur diese Einträge darstellen.

    Das geht in der Form wohl eher Richtung Konzeptfrage und ist dementsprechend schlecht konkret zu beantworten.

    Kommentar


    • #3
      Zitat von mermshaus Beitrag anzeigen
      Du musst dir überlegen, wie du bestimmst, welche Menüeinträge dargestellt werden sollen (über den aktiven URL beziehungsweise GET-Parameter), und dann nur diese Einträge darstellen.

      Das geht in der Form wohl eher Richtung Konzeptfrage und ist dementsprechend schlecht konkret zu beantworten.
      ich bevorzuge POST aber ich finde nicht den richtigen ausdruck um z.b. eine anleitung im internet zu finden, oder ein kleines beispiel wie das funktioniert

      Kommentar


      • #4
        danke dir hab nen anhaltspunkt gefunden.

        mit $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

        findet man heraus auf welcher seite man sich befindet. damit könnte man weiter arbeiten

        Kommentar


        • #5
          ich bevorzuge POST
          Für eine Navigation? Das wäre imho ein Fehler.

          Siehe auch: $_SERVER['SCRIPT_NAME'];
          und basename() bzw. pathinfo()

          Und bei deinem Schnipsel oben fehlen Stringbegrenzer.
          The string "()()" is not palindrom but the String "())(" is.

          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
          PHP.de Wissenssammlung | Kein Support per PN

          Kommentar


          • #6
            Zitat von hausl Beitrag anzeigen
            Für eine Navigation? Das wäre imho ein Fehler.

            Siehe auch: $_SERVER['SCRIPT_NAME'];
            und basename() bzw. pathinfo()

            Und bei deinem Schnipsel oben fehlen Stringbegrenzer.
            hast recht.

            Hier ein super Beispiel

            PHP-Code:
            <?php

            echo '<table class="home" cellspacing="0" cellpadding="0" border="0">';
            echo 
            '<td class="left">';
            echo 
            '<div id="nav">';
            echo 
            '<ul id="navhome">';

            $actual_link "$_SERVER[REQUEST_URI]";

            $WebLink = ($_SERVER['REQUEST_URI']);

            if (
            $WebLink == "/Webseite/index.html")
            {

            echo 
            '<li>';
            echo 
            '  <a href="/Webseite/index.html">';
            echo 
            'Homepage';
            echo 
            '</a>';
            echo 
            '</li>';
            elseif(
            $WebLink == "/Webseite/suche.html")
            {

            echo 
            '<li>';
            echo 
            '  <a href="/Webseite/index.html">';
            echo 
            'Homepage';
            echo 
            '</a>';
            echo 
            '</li>';

            }

            echo 
            '</ul>';
            echo 
            '</td>';
            echo 
            '</div>';

            ?>

            Kommentar


            • #7
              Oje...

              Schau dir mal EVA an http://php-de.github.io/jumpto/eva-prinzip/

              Was willst du nochmals erreichen, das nur auf gewissen Seiten nur gewisse Links stehen? Mach zB ein Array mit den Seitennamen, dann brauchst du nur ein if für den Ausnahmefall so grob dazu.
              The string "()()" is not palindrom but the String "())(" is.

              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
              PHP.de Wissenssammlung | Kein Support per PN

              Kommentar


              • #8
                Ich hätte es so probiert:

                PHP-Code:
                array(
                  array(
                "index.html", array($menuItem1$menuItem2menuItem4)),
                  array(
                "suche.html", array($menuItem2$menuItem3menuItem4)),

                In der Abfrage prüfst du dann ob der $WebLink dem ersten Wert im Array entspricht und kannst dann das nachfolgende Array mit den dazugehörigen Menü-Items per foreach()-Schleife durchlaufen und auflisten.

                Oder hab ich jetzt einen Denkfehler?

                Kommentar

                Lädt...
                X