Hogy (és hol) lehet felülbírálni egy sminkhez a menu.inc/template_preprocess_menu_tree() függvényt?
Ha beteszem a template.php-be (és esetleg ellátom a sminknév előtaggal a template szó helyett), elsötétül a kép. :-)
Melyik modulhoz, modulokhoz kapcsolódik a téma?:
Drupal verzió:
Fórum:
A preprocess függvényeket nem
A preprocess függvényeket nem lehet felülbírálni, az tök más mint a theme_ kezdetű függvények, amikből mindig csak egy fut le.
A preprocesssek mindig lefutnak! Céljük, hogy a sminknek (theme_ és .tpl.php) átadott adatokat manipulálják. A smink preprocesse a folymat végén van, így az bármilyen változót felülírhat, törölhet(nem javasolt), hozzáadhat.
Felülírni a theme_menu_tree függvényt lehet. :)
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
theme_menu_tree már késő
Az lenne a célom, hogy a theme_menu_tree által paraméterként kapott $variables változót tudjam módosítani. A theme_menu_tree-ben ez már későn van - egy fázissal korábban szereném elkapni a folyamatot, ezért gondoltam a *preprocess_menu_tree-re. Mit javasoltok?
Egyébként pedig a távlati célom az, hogy a theme_menu_tree-ben lehessen tudni, hogy mik a főmenü pontok, és mik a gyermekei, mert a sminkben eszerint vannak kialakítva az osztályok. Nyilván sok út van ennek megvalósítására (pl. használhatnám az alapból megjelenő leaf, expanded stb-ket), de én most mégis azt szeretném, hogy a drupal tolja alá a széket a css-eknek és nem fordítva.
jobb lenne
ha azt írnád le, mit szeretnél elérni, mi a hőn áhított végeredmény. lehet, hogy nem is kell semmi preprocess ahhoz amit csinálni akarsz. ha mindenképp ragaszkodsz ehhez, akkor viszont konkrét kódot kéne látni és esetleg hibaüzenetet vagy képernyőfotót a hibáról vagy valamit.
-
clear: both;
kész
Közben rájöttem, hogy meg tudom oldani a theme_menu_tree és egy sajátos block*.tpl.php segítségével, úgyhogy lefújva.