aktiven Unterkategorie-Link hervorheben

ConnyF

Grünschnabel
Hallo

Ich suche eine Möglichkeit mit PHP, dass wenn ich bei meinem Templatesystem eine Unterkategorie (subnavi) angeklickt habe, dass dieser Link auch markiert bleibt. Mit dem CSS-Befehl :active geht das ja leider nicht. Ich möchte, dass in diesen Zustand die Schriftfarbe und die Hintergrundfarbe geändert ist.
Hier der :active CSS-Befehl
PHP:
a.subnavi:active {
	color: #FFFFFF;
	background-color: #BF380B;
	}
Rein theoretisch könnte ich mir was mit "if - else" vorstellen, weiss aber nicht mit welchen Befehlen ich dies anstellen soll. Das Menü ist auch in mit if-Anweisungen aufgebaut. Hier ein kleiner Ausschnitt.
PHP:
echo"<span class=\"topnavact\"><a class=\"topnavi\" href=\"index.php?open=photos\">Photos</a></span><br>";
if(substr($_GET['open'], 0, 6) == 'photos') {
echo"<ul class=\"subnav\" style=\"margin:0 0 0 8px;\" type=\"circle\">";
echo"<li style=\"padding:1 0 1 0px;\" onmouseover=\"this.style.color='#BF380B'; this.style.listStyleType='disc'\" onmouseout=\"this.style.color=''; this.style.listStyleType='' \"style=\"color : #202846\">";
echo"<a class=\"subnavi\" href=\"index.php?open=photos-schiffstaufe\">Schiffstaufe</a></li>";//dieser Link sollte hervorgehoben sein wenn er aktiv ist
...
...
Bin als PHP-Neuling für jeden Hinweis sehr dankbar.
Habe stundenlang hier im Forum gesucht, wenn ich was übersehen habe, dann entschuldige ich mich.
Lg Conny
 
Also ich mache das immer so das ich die URL in der Adresszeile auslese, und das dann wie folgt mache:

PHP:
if($_GET['site'] == 'beispiel.html') {

   echo "<b><a href="beispiel.html">beispiel</a></b>";

} else {

   echo "<a href="beispiel.html">beispiel</a>";

}

musst du dann eben für dich anpassen.
 
Wow ... perfekt ... genauso habe ich es mir gewünscht
Ich danke Dir "BSA" :)

Ist zwar jetzt eine "Fusselarbeit" zwischen meinen Code zu arbeiten, aber das Resultat ist das was zählt *smile*

Die Änderungen für meinen Bedarf sehen wie folgt aus
PHP:
a.subnaviactive {	//Doppelpunkt entfernt
	color: #FFFFFF;
	background-color: #BF380B;
	}
PHP:
if(substr($_GET['open'], 0, 6) == 'photos') {
echo"<ul class=\"subnav\" style=\"margin:0 0 0 8px;\" type=\"circle\">";
echo"<li style=\"padding:1 0 1 0px;\" onmouseover=\"this.style.color='#BF380B'; this.style.listStyleType='disc'\" onmouseout=\"this.style.color=''; this.style.listStyleType='' \"style=\"color : #202846\">";
if($_GET['open'] == 'photos-schiffstaufe') { 
echo "<a class=\"subnaviactive\" href=\"index.php?open=photos-schiffstaufe\">Schiffstaufe</a></li>"; // hier die geänderte CSS-Anweisung (subnaviactive) eingefügt
} else { 
echo"<a class=\"subnavi\" href=\"index.php?open=photos-schiffstaufe\">Schiffstaufe</a></li>";
}
Gruss, Conny
 
Zurück