Autor | Zpráva | ||
---|---|---|---|
web2000@seznam.cz Profil * |
#1 · Zasláno: 7. 5. 2012, 23:10:45
Ahoj, snažím se nastavit vybranou položku v menu na trvale aktivní (změna barvy dokud se nepřejde na jinou stránku), jeli vybrána celá stránka.
Pokud jako název stránky zadám existující soubor s příponou reference.php vše funguje, ale stránky vypisuji s databáze (nemám tedy fyzické soubory) a navíc používám hezké adresy typu s-2_reference (2 je id stránky) Ve funkci se ale porovnává zda se název stránky schoduje se skutečným, otázkou je jaký název stránky je na pozadí aby došlo ke schodě, ta hezká adresa to nebude, jelikož to hází, že se nerovná a tato s htaccess stranka.php?n=$1&s=$2 také ne while ($data = mysql_fetch_array ($vystup)) { echo "<li".aktiv("stranka")."><h2><a href=\"s-".$data['id_stranka']."_".$data['seo_stranka']."\">".$data['nazev_stranka']."</a></h2></li>\n"; } Funkce: function aktiv($page){ $path_parts = pathinfo($_SERVER['SCRIPT_NAME']); if ($path_parts['basename'] == $page ) { echo "class=\"aktiv\""; } } |
||
Borius Profil |
web2000@seznam.cz:
3. řádek: funkci aktiv bych volal s parametrem, který potřebuji ke správnému porovnání. Tedy $url="s-".$data['id_stranka']."_".$data['seo_stranka']."; echo '<li', aktiv($url), "><h2><a href=\"{$url}\">{$data['nazev_stranka']}</a></h2></li>\n"; echo " class=\"aktiv\""; |
||
Someone Profil |
#3 · Zasláno: 8. 5. 2012, 01:59:06
Funkce by podle mě měla vypadat jinak:
function active($page) { $path_parts = pathinfo($_SERVER['SCRIPT_NAME']); if ($path_parts['basename'] == $page ) { return " class=\"aktiv\""; } } |
||
web2000 Profil * |
#4 · Zasláno: 8. 5. 2012, 10:14:17
Someone:
Funkce opravdu potřebovala příkaz return pokud se použila proměnná $url, dále bylo třeba napsat místo SCRIPT_NAME, REDIRECT_URL pro získání správné adresy k porovnání aby to celé šlapalo. |
||
Davex Profil |
#5 · Zasláno: 8. 5. 2012, 11:25:34
Nejlépe by mělo posloužit
$_SERVER['REQUEST_URI'] .
|
||
Časová prodleva: 12 let
|
0