Autor Zpráva
Mufna
Profil
Ř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
http://polopate.jakpsatweb.cz/index.php?page=include4
Mufna
Profil
Alphard

Jo, díky moc
joe
Profil
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 *
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
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
Karbon, joe

Pardon, než jsem psal svůj poslední příspěvek, neviděl jsem Vaše příspěvky
joe
Profil
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
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
Tak už jsem to vyřešil, hip hip hurá .... díky za všechny příspěvky

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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

0