PHP Link der aktiven Seite hervorheben!

Belee

Lt. Commander
Registriert
Dez. 2006
Beiträge
1.518
Hi

Folgendes...

PHP:
<li><a href="index.php?mainnav=home"<?php if ($_GET['mainnav'] == "home") { echo 'id="aclink"'; } else { echo 'class="mainnav"';} ?></li>

Das ist ein Link meiner Hauptnavigation, die Navigation ist statisch in der Index.php eingebaut. Die Seiten hinter jedem Link werden includiert.
Der Code oben sorgt dafür das die jeweils aktive Seite eine ID bekommt die den Link hervorhebt, das klappt auch alles wunderbar.

Das Problem ist aber, wenn ich die Seite www.domain.de aufrufe, ist leider der Home Link nicht hervorgehoben, wie bekomme ich es hin das Home beim öffnen der Seite bereits als aktiv hervorgehoben wird? und dann später beim anklicken eines anderen Links in der Navgation dann halt nicht mehr, irgendwie habe ich nen BlackOut und mir fällt keine Lösung ein.


Gruß
Belee
 
Wenn du bei jedem Link prüfst, ob mainnav gesetzt ist, prüfst du auf der Startseite eben, ob mainnav gleich home ist oder gar nicht gesetzt wurde.
 
PHP:
<li>
<a href="index.php?mainnav=home"
<? 
((!isset($_GET['mainnav'])) || ($_GET['mainnav'] == "home")) ? echo 'id="aclink"' : echo 'class="mainnav"';
?>
>
</li>
 
PHP:
<li><a href="index.php?mainnav=home"<?php if ($_GET['mainnav'] == "home" or $_GET['mainnav'] == "") { echo 'id="aclink"'; } else { echo 'class="mainnav"';} ?></li>
Sollte gehen, oder?
 
@Fusel..
Parse error: syntax error, unexpected T_ECHO

@suxx
Ne geht nicht, da beim ansurfen www.domain.de es ja kein mainnav gibt.
 
Nimm statt echo den print-Befehl.
PHP:
<?php  
((!isset($_GET['mainnav'])) || ($_GET['mainnav'] == "home")) ? print 'id="aclink"' : print 'class="mainnav"'; 
?>
 
Zurück
Oben