Sziasztok,
nézettel előállítottam pár oldalt (egy foglalási folyamat oldalai), ahol a kiválasztások egyszerű /arg1/arg2 formában kerülnek továbbadásra. Ez megy szépen, az egészet végül egy tartalom típusnak adom tovább a már "megírt módon.
Jött az igény, hogy na de legyen aktív az egyik menüpont, míg az oldalakon végiglépked a látogató...
3 oldalról lévén szó, modult nem akartam csatasorba állítani.
Minthogy az átadott argumentumok miatt sok a lehetséges url (jelentkezes/modul/arg1/arg2; jeletkezes/letszam/arg1/arg2), van így az url-t nem tehettem a feltételbe, így született az alábbi megoldás.
Megvizsgálom a 2. url tagot (pl. modul) és ha tuti, akkor a menü tulajdonságaiban beállítom az active osztályt.
function theme_preprocess_page(&$variables, $hook) { $part = explode("/", $_GET['q']); if (isset($part['1'])) { switch ($part['1']) { case 'argumentum': $variables['main_menu']['menu-452']['attributes'] = array('class' => array('active')); break; case ... } } }
A feladatát rendben szolgálja.
Csak a ötletelés kedvéért küldtem be, hátha van szebb, hatékonyabb megoldás - ill. hátha másnak jól jöhet.
Üdv.:
Dani
Context
A Context modullal beállítható, hogy adott útvonalon, adott menüpontot aktívnak jelöljön. Érdemes kipróbálni, mert tud még egyet s mást ezen kívül.
hát, ha már ezt csinálod,
akkor talán annyit még tegyél meg, hogy nem kézzel robbantod a getkút, hanem használod a csodálatos arg() függvényt.
-
clear: both;