glupto: Menü auslagern und dennoch individuell gestalten

Hallo, habe schon mal in einem anderen Forum gefragt, dort aber leider keine Antwort bekommen. Also: Ich habe mein recht umfassendes Menü ausgelagert und includiere es mit php. Aber um die aktuelle Seite im Menü dennoch hervorheben zu können, müsste ich vermutlich alle Menüpunkte in ein Array packen und jeweils abprüfen, ob es sich um die aktuelle Seite handelt

  
  
 <?php  
 $url = "http://".$_SERVER['PHP_SELF'].$_SERVER['REQUEST_URI'];  
 ?>  
  

und diesen Eintrag dann fett oder kursiv gestalten. Oder weiß jemand was Besseres?

Gruß glupto

  1. Überprüfen ist ja nicht ganz verkehrt.
    Statt mit $_SERVER könntest du auch das Menü als Funktion einbinden und den Namen der aktuellen Seite mit übergeben, das ließe sich dann auch als Prüfkriterium hernehmen.
    Ob du dazu ein Array anlegst oder jeden Menüeintrag durch eine Funktion einträgst die anhand des aktuellen Seitennamens formatiert, ist ja egal.

  2. hi,

    Hallo, habe schon mal in einem anderen Forum gefragt, dort aber leider keine Antwort bekommen. Also: Ich habe mein recht umfassendes Menü ausgelagert und includiere es mit php. Aber um die aktuelle Seite im Menü dennoch hervorheben zu können, müsste ich vermutlich alle Menüpunkte in ein Array packen und jeweils abprüfen, ob es sich um die aktuelle Seite handelt

    aktuell requestete Seite seht in: $_SERVER['REQUEST_URI']

    und diesen Eintrag dann fett oder kursiv gestalten. Oder weiß jemand was Besseres?

    Das Zauberwort heißt: Kontrollstruktur ;)

    Hotti

    1. ja, ich kenne die Abfrage-Möglichkeiten, weiß aber nicht, welches die sinnvollste ist bei einem sehr umfangreichen HTML-Menü (lange Listen mit Ländernamen).

      Das Zauberwort heißt: Kontrollstruktur ;)

      Hotti

  3. Tach!

    Ich habe mein recht umfassendes Menü ausgelagert und includiere es mit php. Aber um die aktuelle Seite im Menü dennoch hervorheben zu können, müsste ich vermutlich alle Menüpunkte in ein Array packen und jeweils abprüfen, ob es sich um die aktuelle Seite handelt

    Das ist die einfachste Möglichkeit für die gegebene Projektstruktur. Aber ob es das beste ist, die Menüpunkte getrennt von den Inhalten zu pflegen, darf angezweifelt werden - zumindest wenn das Projekt umfangreicher wird.

    $url = "http://".$_SERVER['PHP_SELF'].$_SERVER['REQUEST_URI'];

      
    Das wird aber so nichts werden. PHP\_SELF enthält nicht den Hostnamen. Außerdem ist das unbehandelte Einfügen von PHP\_SELF anfällig für HTML-Injection. Man sollte es durch htmlspecialchars() schicken, bevor man es im HTML-Kontext verwendet.  
      
      
    dedlfix.