Menü auslagern und dennoch individuell gestalten
glupto
- php
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
Ü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.
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
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
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.