Autor Zpráva
Šimi
Profil *
Ahoj,
dělám na jednom webu a potřebuji označit aktivní stránku. Jde o rozsáhlejší projekt a tak jsem se to rozhodl řešit pomocí PHP takto:

<li><a href="index.php?page=Allen/Allen"<?php if ($_GET['page'] == 'Allen/Allen') echo " class='aktivni'"?>>Allen & Heath</a></li>

Vše funguje bez problému až do chvíle, kdy potřebuji přejít v rámci značky Allen & Heath na jinou podkategorii (např. z mixpultů na kontrolery). V tu chvíli se samozřejmě změní odkaz z Allen/Allen např. na Allen/Kontrolery a zvýraznění aktuální stránky - Allen & Heath přestane fungovat.

Laicky stačí výraz za lomítkem nahradit nečím neutrálním, např. hvězdičkou (*) nebo něčím takovým a docílit tak toho, že se ten skript bude vztahovat na všechny odkazy z podkategorie. Na nic jsem ale nepřišel.

Může někdo pomoct, pls? Děkuji!
panther
Profil
Šimi
Vše funguje bez problému až do chvíle, kdy potřebuji přejít v rámci značky Allen & Heath na jinou podkategorii
máš dvě možnosti, jak to řešit.

Buď můžeš mít kategorii i v URL, tedy domena.cz/kategorie/podkategorie nebo si tam dej switch. Tam si zadej stránky, pro které bude aktivní ta která položka.

EDIT: nevšiml jsem si toho lomítka, kde první část bude asi pořád stejná.
Radek9
Profil
http://cz2.php.net/function.strpos
Šimi
Profil *
To panther

jj, přesně. Ta první část před lomítkem je vždy stejná.

To Radek9

nějak přesně nechápu, jak to mám uplatnit. Můžeš to trošku rozvést.
Díky.
Radek9
Profil
Šimi:
Uděláš si podmínku, že pokud v adrese v GET nalezne alien tak vyznačí tenhle odkaz.
Radek9
Profil
Nebo taky ještě jednodušeji.
<?php
$cast = explode("/", $_GET['page']);
?>

<li><a href="index.php?page=Allen/Allen"<?php if ($cast[0] == 'Allen') echo " class='aktivni'"?>>Allen & Heath</a></li> 
Šimi
Profil *
Radek9
super díky. Funguje to bezvadně. :)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: