Hallo Andreas!
Nun habe ich eine Frage! Ich habe ein Listen Menü mittels css erstellt.
Nur der Ordnung halber: Du hast eine Liste mit (X)HTML erstellt, und per CSS ...
... hast du versucht, wenn der Link aktiv ist, diesen farblich hervorzuheben.
Der normale Link ist so
<li><a href="index.php?cat=plugin">Plugins</a></li>
wenn er aktiv ist schaut er so aus
<li id="active"><a id="current" href="index.php?cat=plugin">Plugins</a></li>
Hmmm ..., wenn er "aktiv" ist, heißt das, dass ich mich auf der Seite befinde!?
Wenn dem so ist, solltest du den Link durch ein SPAN Element ersetzen, da "man" nicht auf die jeweils aktuelle Resource/ Seite verlinken sollte. ;-)
Im übrigen reicht es auch aus, wenn du lediglich dem LI Element eine entsprechende Id/ Klasse verpasst. Nachfolgende Elemente lassen sich dann bei Bedarf im CSS selektieren.
und das wäre meine Abfrage in PHP, so das er Link aktiv ist wenn er aktiv ist:
echo'<li';
if ($cat=='plugin') {echo' id="active"'; }
echo'><a href="index.php?cat=plugin"';
if ($cat=='plugin') {echo' id="current"';}
echo'>Plugins</a></li>';
>
> Ich finde das es ziemlich unübersichtlich ist, aber funktionell. Gibt es Möglichkeiten dieses Wirrwarr zu verkürzen, bzw. übersichtlicher zu machen?
Felix hat dir ja schon eine Möglichkeit gepostet.
Generell würde ich empfehlen, Strings immer erst komplett zusammen zu bauen und dann einmalig auszugeben.
Ist 'plugin' der einzige mögliche Wert für cat?
Wenn nicht, empfiehlt sich evt. die Verwendung von 'switch'. Oder du packst die Werte in ein Array, welches du in einer 'foreach' Schleife abarbeitest (um das Menü zu generieren) und dabei auf die aktuelle Seite prüfst.
Und warum so "hässliche" URLs? ;-)
Warum nicht: http://example.com/plugins
Gruß Gunther