Autor | Zpráva | ||
---|---|---|---|
Mufna Profil |
#1 · Zasláno: 29. 3. 2008, 23:42:15
Řeším problém s menu, kdy chci, aby vždy aktivnímu prvku (odkazu) menu (ve smyslu záložky) byla přiřazena CSS třída. Čili aby řekněme třída class="current" byla vždy přiřazena jednomu konkrétnímu <a></a> podle toho, kde se uživatel zrovna nachází. Menu je klasicky udělané pomocí ul,li. Nevíte někdo, jak na to. Za každou radu či nápad předem díky !
|
||
Alphard Profil |
#2 · Zasláno: 29. 3. 2008, 23:49:19
|
||
Mufna Profil |
#3 · Zasláno: 30. 3. 2008, 00:17:57
Alphard
Jo, díky moc |
||
joe Profil |
#4 · Zasláno: 30. 3. 2008, 03:05:29
Mufna
Já to dělám takto a zdá se mi to lepší než na tom příkladu od Alpharda. <ul> <li<?=($_REQUEST['page']!='stranka1' ? '' : ' class="active"');>><a href="#">Stranka 1</a></li> <li<?=($_REQUEST['page']!='stranka2' ? '' : ' class="active"');>><a href="#">Stranka 2</a></li> <li<?=($_REQUEST['page']!='stranka3' ? '' : ' class="active"');>><a href="#">Stranka 3</a></li> </ul> |
||
karbon Profil * |
#5 · Zasláno: 30. 3. 2008, 11:48:24
joe
Místo REQUEST bych použil spíše GET. Lepší je dát jednotlivé položky v menu do pole a pak je postupně procházet a porovnávat s podmínkou. Je to kratší, přehlednější a podle mě i správnější. Taky je vhoné nějak ošetřit situaci, kdy není GET proměnná zadána, aby to nehlásilo chybu. |
||
Mufna Profil |
#6 · Zasláno: 30. 3. 2008, 14:27:40
Tak to zkouším, zkouším, ale zatím to má různý mouchy. Napadlo mě něco jinýho. Mám ale 1 problém: Nevím, jak mám předat do funkce wrt_menu proměnnou $page. Té bych na každé odkazované stránce přiřadil hodnotu. Zároveň nepřistupuju ke každé stránce přes index.php, ale u každého odkazu používám přímý link, pokaždé s jiným názvem.
Zároveň to chci takhle udělat proto, že aplikace class na li se mi zde vůbec nehodí (u prvního li používám ještě třídu "first" - no, po pravdě, to by šlo upravit na id), nehledě na to, že mi zatím nějak nechce fungovat. Když se ale vrátím k vlastnímu řešení, tak můj jediný problém je : jak funkci wrt_menu předat proměnnou $page z konkrétní stránky Kód mám function wrt_admin_menu($page="") { // Musim nejak definovat promennou, jinak se menu nezobrazi ?> <div id="menuMain"> <ul id="menuPoint"> <li class="first"><a href="./insert_car.php"<?php if ($page==1) echo ' class="current"';?>>- PĹ™idat vĹŻz -</a></li> <li><a href="./display_cars.php"<?php if ($page==2) echo ' class="current"';?>>- Seznam vozĹŻ -</a></li> Poradíte mi prosím, jak na předání proměnný $page ? |
||
Mufna Profil |
#7 · Zasláno: 30. 3. 2008, 14:30:52
Karbon, joe
Pardon, než jsem psal svůj poslední příspěvek, neviděl jsem Vaše příspěvky |
||
joe Profil |
#8 · Zasláno: 30. 3. 2008, 15:34:04
karbon
Proč GET? Je k tomu jiný důvod než ten, že je to kratší?:-) Používám REQUEST na všechno, pak nemusím řešit co je správně POST a GET, když v REQUESTu je vše. Možná to není dobré řešení, ale už jsem si zvykl :-) S tím polem, taky mě to napadlo, ale podmínka je podmínka, ale pole je asi lepší, hlavně když je těch odkazů víc. |
||
Mufna Profil |
#9 · Zasláno: 30. 3. 2008, 16:06:12
Tak jsem se zatím dopracoval k týhle konstrukci (joeova je na mě příliš složitá - resp. ona je jak vidět jednoduchá, ale tak dalece se v PHP ještě nevyznám), abych to mohl aplikovat na <a>, ale nevím, jak proměnnou $page z dané stránky získat. Asi jak říkáte, přes vytvoření pole, ale pořád nevím, jak tu proměnnou vsunout na danou stránku tak, aby se při jejím načítání zohlednila a menu se zobrazilo podle toho.
function wrt_admin_menu($page="") { $page=$_REQUEST["page"]; $page='1'; // Zkouska funkcnosti menu <div id="menuMain"> <ul id="menuPoint"> <li class="first"><a <?php if ($page==1) echo 'class="current"';?> href="./insert_car.php">- Přidat vůz -</a></li> <li><a <?php if ($page==2) echo 'class="current"';?> href="./display_cars.php">- Seznam vozů -</a></li> |
||
Mufna Profil |
#10 · Zasláno: 30. 3. 2008, 16:13:30
Tak už jsem to vyřešil, hip hip hurá .... díky za všechny příspěvky
|
||
Časová prodleva: 16 let
|
0