21. září bude sraz! Od 18.00 v restauraci Tradice v Praze u Anděla
Autor Zpráva
humlhergot
Profil *
ahoj, zacinam s php a chtel bych se zeptat jak nejak jednoduse a univerzalne naprogramovat menu?

Priklad:

menu je treba:

<ul>
<li class="jedna"><a href="#" id="aktivni">polozka 1</a></li>
<li class="dve"><a href="#">polozka 2</a></li>
<li class="tri"><a href="#">polozka 3</a></li>
<li class="ctyri"><a href="#">polozka 4</a></li>
</ul>

mam index.php?stranka=uvod apod.

potrebuju vypsat menu (kazde <li> ma svou class) a jeste priradit id="aktivni" k prislusne polozce (dle stranky, ktera je zrovna zvolena uzivatelem)

Zatim to delam krkolomne tak, ze mam pole, kde mam kazdou polozku pole jako jeden radek menu (<li><a href.....) a pomoci switch pak podle aktualni stranky prepisu hodnotu prvku pole na (<li><a href="" id="aktivni"...) tzn. zase cely radek s tim rozdilem, ze tam pripisu jeste id="aktivni".

Poradite mi prosim nejakou jednodussi, ci kratsi cestu (myslim zapisem) tak abych napr. prosel pole foreach, ale podle aktivni stranky se mi k prislusne polozce menu priradil identifikator? Nejak mi to nemysli a nevim si s tim rady. Dekuji.
Medvídek
Profil *
Já to dělám takto: (ale mam menu pouze o 6 odkazech, takže sem nevymýšlel nic složitějšího)


<ul>
<li class="jedna"><a href="#" <?php if($stranka=="uvod") echo "id=\"aktivni\""; ?>>polozka 1</a></li>
<li class="dve"><a href="#" <?php if($stranka=="dve") echo "id=\"aktivni\""; ?>>polozka 2</a></li>
<li class="tri"><a href="#" <?php if($stranka=="tri") echo "id=\"aktivni\""; ?>>polozka 3</a></li>
<li class="ctyri"><a href="#" <?php if($stranka=="ctyri") echo "id=\"aktivni\""; ?>>polozka 4</a></li>
</ul>
humlhergot
Profil *
dik za tip,

ale i toto mi prijde s prominutim trosku krkolomne :-/ chtelo by to nejake elegantni reseni kdybych mel polozek treba 40 ...
Kcko
Profil
pole a cyklus?
humlhergot
Profil *
Kcko:

muzes natuknout? Ted to mam tak, ze cely jeden radek mam v poli a projedu ho foreach, tim elegantne vypisu pole. ale uz nevim jak dat aktivni polozce id="aktivni" aniz bych musel nekde to pole znovu cele prepsat s id="aktivni" ..
Kcko
Profil
$menu = array( 'Kontakt' => 'kontakt', 'Hrac' => 'player');

foreach ($menu as $k => $v)
{
$selected = $_GET['page'] == $v ? 'class="selected"' : '';
echo '<a href="?page= '.$v. ' .$selected.' ">'.$k.'</a>';

}


?page=kontakt // nastavi se trida selected

takto nejak
humlhergot
Profil *
no jo ted je mi to jasnejsi .. vyzkousim diky moc ..
humlhergot
Profil *
tak skriptik funguje . jen se mi nedari dostat ke kazde polozce jinou class ... taj. 1. polozka men ma class="first" druha class="second" .. apod... fakt me to nejak nemysli . poradte prosim dekuji ..
Medvídek
Profil
a nemuze mit stejne class jako nazev položky ? tedy class="novinky" atd ?
humlhergot
Profil *
ne jelikoz kazda polozka menu ma trosku jiny obrazek na pozadi .. :-(
humlhergot
Profil *
tak se s tim porad trapim . poradte mi prosim nekdo asi nejsem na programovani staveny :-/
stepi15
Profil
ja mam menu vlozrnr pomoci inglute do vsech strnek a nestezuji si

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0