• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

class active beim includieren der Seite anpassen

jappi00

Mitglied
Hallo,

ich möchte meine Navigation includieren, ist es da irgendwie möglich die class active zu wechseln?

Ein beispiel:

Code in der include File:
HTML:
<ul>
                <li><a href="Index.html">Wilkommen</a></li>
                <li><a href="Austattung.html">Austattung</a></li>
                <li><a href="Lage.html">Lage</a></li>
                <li><a href="Preise.html" >Preise</a></li>
                <li><a href="Kontakt.php">Kontakt</a></li>
</ul>
So soll es dann z.B. auf der Preise.html angezeigt werden:

HTML:
<ul>
                <li><a href="Index.html">Wilkommen</a></li>
                <li><a href="Austattung.html">Austattung</a></li>
                <li><a href="Lage.html">Lage</a></li>
                <li><a href="Preise.html"  class="active">Preise</a></li>
                <li><a href="Kontakt.php">Kontakt</a></li>
</ul>
Ich hoffe ihr könnt mir folgen...
L.G.
Jappi00
 
Werbung:
Dafür gibt es mehrere Ansätze in PHP und JavaScript. Extrahiere den Pfad aus der URI und vergleiche ihn mit dem href der Links. Bei einem match bekommt der entsprechende Link dann die Klasse active.
 
Werbung:
Vielen Dank für denn Tipp hat super geklappt.
Kann ich darinn noch was verbessern?
In etwa so:
PHP:
<?php $login_adress = $_SERVER['PHP_SELF'];
?>
<nav class="nav">
            <ul>
                <li><a href="Index.php"<?php if ($login_adress == "/Index.php"){echo "class=\"active\"";}?>>Wilkommen</a></li>
                <li><a href="Austattung.php"<?php if ($login_adress == "/Austattung.php"){echo "class=\"active\"";}?>>Austattung</a></li>
                <li><a href="Lage.php"<?php if ($login_adress == "/lage.php"){echo "class=\"active\"";}?>>Lage</a></li>
                <li><a href="Preise.php"<?php if ($login_adress == "/Preise.php"){echo "class=\"active\"";}?>>Preise</a></li>
                <li><a href="Kontakt.php"<?php if ($login_adress == "/Kontakt.php"){echo "class=\"active\"";}?>>Kontakt</a></li>
            </ul>
        </nav>
 
Na, du kannst es auch mit Arrays umsetzen
PHP:
<?php
header('charset="utf-8"'); 
$uri = $_SERVER['REQUEST_URI'];

$navi = array(
  "/" => "Startseite"  ,
  "/Kontakt/" => "Kontakt",
  "/About/" => "Über mich",
  "/Impressum/" => "Impressum"
 
      );


echo '<nav class="nav">'."\n<ul>\n";
  foreach ( $navi as $href => $text )
  {
   
  if (  $uri == $href )
      {
    print ' <li><strong >'.$text.'</strong></li>'."\n";
 
    }
     
      else 
      {
  print '  <li><a href="'. $href .'">'.$text.'</a></li>'."\n"; 
  }

  }   
echo "</ul>\n</nav>";
?>
 
o_OIch steige da nicht so richtig durch ); Aber ich denke ich werde bei meinem Ansatz bleiben... VIELEN LIEBEN DANK euch
L.G.
Jappi00
 
Werbung:
Zurück
Oben