aktive textlinks markieren in dynamischer navigation

celiadee

Mitglied
Liebe Gemeinde,
mein Problem klingt simpel, ist aber leider ganz schön knifflig.

Ich habe einen Wordpressblog mit einer Dynamischen Navigation:

PHP:
<div id="navigation">
		<ul class="cate_list">
                      
        	<?php //list_tags(); ?> 

<!-- Textlink Startseite  -->
<li><a href="#all">startseite</a>
</li> 
     
     <!-- dynamische Navigationsliste -->        
            <?php 
			  $categories=  get_categories('title_li'); 
			  foreach ($categories as $category) 
			  {
				$option = '<li><a href="#'.$category->category_nicename.'" class="'.$category->category_nicename.'">';
				$option .= $category->cat_name;
				$option .= '</a></li>';
				echo $option;
			  }
			 ?>
                      </ul>
                            </div>

Nun möchte ich den Link der jeweils geklickten Kategorie farbig markieren.

Normalerweise könnte ich Textlinks in der Navigation mit PHP so markieren:

PHP:
<div id="navigation">
  <ul>
    <li<?php if ($thisPage=="Page One") 
      echo " id=\"currentpage\""; ?>>
      <a href="#">Page One</a></li>
    <li<?php if ($thisPage=="Page Two") 
      echo " id=\"currentpage\""; ?>>
      <a href="#">Page Two</a></li>
    <li<?php if ($thisPage=="Page Three") 
      echo " id=\"currentpage\""; ?>>
      <a href="#">Page Three</a></li>
    <li<?php if ($thisPage=="Page Four") 
      echo " id=\"currentpage\""; ?>>
      <a href="#">Page Four</a></li>
  </ul>
</div>

Damit komme ich hier leider nicht weit, da ich für meine Kategorien = Textlinks ja nur eine Variable habe.

Und hier hört ist mein Wissen leider zu Ende. Lääst sich das überhaupt mit PHP lösen, wenn ja wie? Oder es es doch eher ein Fall für Javascript?

Lieben Dank und viele Grüße
Celiadee
 
Es wird sogar noch einfacher als dein 2tes Beispiel wo du jeden Eintrag einzeln prüfen musst

PHP:
              foreach ($categories as $category) 
              {
                $class = ($thisPage == $category->cat_name) ? 'currentpage' : $category->category_nicename;
                $option = "<li><a href='#.{$category->category_nicename}'  class='{$class}'>";
                $option .= $category->cat_name;
                $option .= '</a></li>';
                echo $option;
              }
 
Guten Morgen Yaslaf,

herzlichen Dank******!! ! Das sieht gut aus, mein Entwickler-Tool gibt die Kategorienamen richtig aus:

siehe Bild im Anhang.

'currentpage' ist ja nun die CSS-Klasse für den aktiven Link.

Mein CSS für die Navi also:

Code:
/*Navigationsliste*/
.cate_list li a{background-color:#000; display:block; padding:1px 20px 0px 20px; font-family:"Courier New", Courier, monospace; font-size:11px; vertical-align: middle; color:#fff; 
text-decoration:none;}
/*Mouseover o.k. klappt*/
.cate_list li a:hover{color:#0087C1;}
/*aktiver Link*/
.currentpage {color:#0087C1;}

Der aktive Link klappt aber leider nicht.
Hab ich was übersehen?

Lieben Dank und herzlichen Gruß
Celiadee
 

Anhänge

  • Bild 1.png
    Bild 1.png
    42,1 KB · Aufrufe: 116
Zuletzt bearbeitet:
Ich habe versucht:


Code:
/*Navigationsliste*/
.cate_list li a{background-color:#000; display:block; padding:1px 20px 0px 20px; font-family:"Courier New", Courier, monospace; font-size:11px; vertical-align: middle; color:#fff; 
text-decoration:none;}
/*Mouseover o.k. klappt*/
.cate_list li a:hover{color:#0087C1;}
/*aktiver Link*/
.currentpage {color:#0087C1;}

und

a.currentpage {color:#0087C1;}

.cate_list li a.currentpage {color:#0087C1;}

Geht alles nicht.:(
 
Halllo liebe Gemeinde, bin echt am verzweifeln,
habe schon alles mögliche versucht, um das CSS richtig zuzuweisen. Nichts klappt. Und da ich mich mit PHP nur weing auskenne, habe ich keine Ahnung, wo ich ansetzen soll. das ist für mich schon fast wie Lottospielen. Hat nicht noch jemand eine Tipp für mich.? Lieben Gruß Celiadee
 
Zurück