Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana koloru linku po przejsciu na inną podstronę
Forum PHP.pl > Forum > Przedszkole
szopik
Witam serdecznie. Mam taki problem i nie bardzo wiem od której strony go ugryźć. Otóż chcę zrobić menu które będzie informowało na której stronie się znajduje np po przez zmianę koloru linku. Tzn. chodzi mi o coś takiego że gdy jestem na stronie głównej, link "Strona główna" jest czerwony, pozostałe linki są czarne. Gdy przyjdę na podstronę "Strona 1" - jest ona czerwona pozostałe są czarne. Można to zrobić bardzo prosto jeżeli na każdej podstronie przypiszemy do linku aktywnego odpowiednią klasę natomiast jak to zrobić z automatu ?

Czyli przykładowo mam taki kod i jak przypisywać klasę "selected" do klikniętego linku:

  1. <div id="linkMenu">
  2. <ul>
  3. <li ><a href="strona_glowna.html" >Strona główna</a></li>
  4. <li ><a href="strona_2.html" class="selected">Strona 2</a></li>
  5. <li ><a href="strona_3.html" >Strona 3</a></li>
  6. </ul>
  7. </div>
ShadowD
W php pobierasz adres strony wciągasz podstronę i dajesz if($podstrona=='strona główna') echo class="selected" i tak analogicznie do końca.

Można jeszcze pobawić się w js ale zawsze jest możliwość że ktoś owego nie posiada...
szopik
OK problem rozwiązałem smile.gif

Wiec na stronie dajemy funkcję która pobiera adres i zapisuje w zmiennej (pobierane jest druga część adresu bez domeny):

  1. <?php
  2. $strona = $_SERVER['PHP_SELF'];
  3. ?>


natomiast do menu musimy dodać funkcję o której mówił kolega czyli powinno to wyglądać mniej więcej tak:
  1. <div id="linkMenu">
  2. <ul>
  3. <li ><a href="strona_glowna.html" <?php if($strona=='/strona_glowna.html') echo 'class="selected"';?>>Strona główna</a></li>
  4. <li ><a href="strona_2.html" <?php if($strona=='/strona_2.html') echo 'class="selected"';?>>Strona 2</a></li>
  5. <li ><a href="strona_3.html" <?php if($strona=='/strona_3.html') echo 'class="selected"';?>>Strona 3</a></li>
  6. </ul>
  7. </div>


Wydaje się to dobrym rozwiązaniem, jednak jeżeli ktoś wie jak można to zrobić lepiej (bardziej elegancko) to proszę o informację smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.