Sziasztok!
Szeretném, ha a Drupal-om bizonyos aloldalain egyszerűen ne legyenek engedélyezve az elsődleges menü elemei.
Hogyan tudom ezt elegánsan megoldani?
Egy opció megvillant bennem, de gyanítom ennél szebb megoldás is van. Ugye útvonalhoz tudok rendelni egy másik sminket a ThemeKey modullal. Így gondoltam replikálom a sminket és "kiírtom" belőle az elsődleges menük kiíratását. :) Tudom ne is mondjátok :(
Gondolom a template.php-ban is lehet ilyen előfeldolgozót betenni, hogyha bizonyos feltételek teljesülnek, akkor tűnjön el a menü. Valami jó kis modulos megoldás nincs ehhez?
Köszi előre is!
Drupal verzió:
Fórum:
template.php
tegyük fel, hogy a 42 -es node megtekintésekor nem akarok elsődleges menüt.
bevezethetsz erre mondjuk egy taxonómiát, ha az jelen van, akkor ne legyen menü vagy mondjuk egy sima on/off cck checkbox -ot és azt figyeled, ez már attól függ, hogy mi pontosan a munkameneted. ha mondjuk 3 fix ilyen nodeod van, akkor egyszerűen égesd a 3 nidet az ifbe. ha előre nlta, hogy hány lesz, akkor inkább valami jelölőt vennék fel a ttípusba.
-
clear: both;
bár ez tényleg az amit kért
bár ez tényleg az amit kért az indító, mégis talán jobb lenne így:
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Miért jobb ez?
A legtöbb smink (pl. garland), az isset()-et használja annak eldöntésére, hogy van-e elsődleges menü, vagy nincs. A fenti két változatban ez a vizsgálat eltérő eredményt ad, és ezért az utóbbiban átszalad az elsődleges menü a theme() függvényen egy üres tömbbel. Ez miért jobb?
Ha nem nyúlsz hozzá akkor
Ha nem nyúlsz hozzá akkor mindig van $primary_links, ha ki van kapcsolva akkor egy üres tömb. Tehát a garland is mindig belefut egy üres tömbbel.
http://api.drupal.org/api/function/template_preprocess_page/6
én az alap page.tpl.php-t néztem.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
igen, emlékeztem én, hogy valami gyász van az unset -el,
de direkt meg is néztem a garland page.tpl.php -ját és hát láttam amit zoli is ír, hogy bizony isset -el vizsgál, ami hát üres tömbre true lesz mint a szél. ezért írtam az usnet. még ha FALSE -ra tolnám át, az is true lesz issetre, ha nem tévedek. csak az unset jó. ebben az esetben.
a régióknál van az, hogy simán ifel vizsgál és arra irtad asszem a multkor, hogy szerencsésebb, ha nem unseteljük, hanem falsera állítjuk, vagy nullra.
-
clear: both;
meghozta
a nemvárt sikert :)
ez így nagyon kényelmes lett, köszönjük preprocesssz :)
És köszönöm a segítséget!
- Szabó Gábor -
"Előre minden élharcos, akinek a jelmondata az, hogy - amég élsz, alkoss"