Sziasztok!
A Drupal által generált menüben szeretnék a menüpontokat közrefogó <li>...</li>
tagoknak egyéni azonosítót adni, ami akkor is megmaradna, ha a menüben átrendezik a sorrendjüket.
Milyen módon lehetne ez korrekten megcsinálni? Néztem a theme_menu_item függvényt, de abban nem igazán tudok értelmes azonosítót hozzárendelni, ami akkor is megmarad, ha más címre kerül az oldal.
Mivel a CSS formázást szeretnék a menüelemeken, jobb lenne listaelemet azonosítani, mint a benne szereplő linket.
Köszönöm a válaszokat! :)
Drupal verzió:
Fórum:
ha jol emlekszem zenben
ha jol emlekszem zenben default benne van ez az opcio.
amugy talaltam ket linket talan erdekes lehet:
http://drupal.org/node/249598
http://drupal.org/node/256863
---
Tévedni mindenkinek szabad, csak a mérnöknek észre kell vennie.
a link nélkül nem megy
A link vizsgálata nélkül nem tudsz úgy azonosítót hozzárendelni a listaelemhez, hogy az a sorrendtől függetlenül állandó legyen...akkor mi alapján döntenéd el, hogy melyik milyen azonosítót kapjon?
igen
Igen, ez igaz. De a linket érdemben nem tudom vizsgálni abban a függvényben... hogyan lehet _jól_ adatot cserélni két smink-függvény között? :)
Szerk: Globális változóval megoldottam. :)
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
egy ötlet
Volt egy ötletem, meglehetőst egyszerű. Arról letettem, hogy az adott menüpontokhoz tartozó felsorolás-elemek állandó azonosítót kapjanak, így arra gondoltam, hogy egyszerűen csak besorszámozom őket, hiszen a CSS -ben már így is fel tudom használni.
Egy static változó, és a sorszámozás már meg is van, viszont a bejelentkezett és a bejelentkezés nélküli felhasználóknak más menüpontok jelennek meg (Navigáció), így a számozás is eltér.
Tudnátok mutatni egy megoldást? A Zen smink nem játszik (abban sem találtam megoldást), a feladat az lenne, hogy egyes menüpontokat más (és lehetőleg állandó) CSS kiválasztókkal tudjam elérni.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
Talán ez segít
Itt készülnek a linkek http://api.drupal.org/api/function/theme_menu_item_link/6
és rendelkezésre áll az mlid (menu link id) - Nem tudom hogy menu_rebuild után is megmarad-e.
CSS-ben valahogy ki lehet választani a szülő elemet
talán így, de itt vannak példák http://exscale.se/archives/2007/07/24/why-cant-we-select-parent-elements...
li < a#mlid-50 {
}
három betű...
... és megkeseríti az életed. Mi az?
IE6
(ez a css kiválasztó, ami egyébként > jel lenne, sajnos nem működik IE 6 alatt)
Az általam használt megoldás pedig az lett, hogy a theme_menu_item_link -ben kihalásztam a link címét egy globális változóba, amit a theme_menu_item -ben felhasználtam az azonosító gyártására.
Nem valószínű, hogy a legszebb megoldás, de működni látszik. És talán a link címe a legstabilabb dolog, ami felhasználható azonosító gyártására.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
egy másik lehetséges megoldás
ez se szép, de működik.
Érdemes lenne megvárni aboros-t is mert neki biztos lesz egy jó kis preprocessoros megoldása is.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
ó, nagyon megtisztelő
de sajnos nem. :(
preprocessor csak olyan dolgokhoz tartozik, amikhez van tpl file is, a preprocessor ennek készíti elő a változókat. amihez nincs tpl (pl egy menü-elem) ahhoz nincs preprocessor se.
egyébként a menüelemek li-jeinek se a zen, se a framework, se a garland nem ad egyedi azonosítót, megnéztem, pedig elég logikus lenne és sminkeléskor gyakran hasznos is. ez van.
-
clear: both;
Garland smink, elsődleges menü
Volt már hasonló téma. Az a probléma, hogy ez csak első-, és másodlagos menüre működik:
http://drupal.hu/forum/grafikus-men%C3%BCh%C3%B6z-id
http://drupal.hu/forum/grafikus-men%C3%BCh%C3%B6z-id#comment-10479
Az elsődleges menüvel meg ugye az a gond, hogy a gyermekei nem jelennek meg.
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
ugyanazzal a forrással igen
ha az elsődleges menüd menüpontjainak vannak almenüi, akkor az első- és másoldagos linkek forrását is ugyan arra a menüre állítva megjelennek. amikor kell.
-
clear: both;
De blokkban
Jó, de ha blokkba szeretnéd tenni a menüt, akkor már nem fog működni. Arra kellene valami általános megoldás szerintem a menu.module-ban.
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan