Van egy module-om, ami kiszolgálja a /sajatmodule/%/%/% oldalakat. Ezekhez az oldalakhoz, de csak ezekhez, szeretnék egy egészen saját page.tpl.php-t használni, amit a module-omból hívnék meg.
Hogyan lehet?
Aboros gondolata alapján megpróbáltam ezt:
function sajatmodule_theme_registry_alter(&$theme_registry) { if(épp_azokon_az_oldalakon_vagyok) { $theme_registry['page']['path'] = 'sites/all/modules/sajatmodule'; } }
(A sites/all/modules/sajatmodule könyvtárba hoztam létre a saját page.tpl.php-t.)
Ezzel két problémám van még:
1) A hook_theme_registry_alter csak cache ürítéskor fut le. Szóval az adott oldalra/ról lépegetés esetén mindig üríteni kell.
2) Az épp_azokon_az_oldalakon_vagyok feltételt nem sikerül szépen kitalálnom. (Csak URL-ből megy a $_SERVER["REQUEST_URI"] segítségével.)
Drupal verzió:
Fórum:
page.tpl.php
A page.tpl.php szerintem ne oda tedd hanem a sites/all/themes/sajattema mappaba vagy valami almappajaba (alsmink). De lehet tevedek,majd okosabbak megmongyak a tuti ...
Olyan valami megoldas nincsen hogy sajatmodule.page.tpl.php nincsen? Ezt meg en kerdezem... Nem inkabb olyan iranyban kellene elindulni?
A feltétel nem a theme
A feltétel nem a theme_registry_alterbe kell. Ez egy regisztrációs tár, aminek annyit mondasz, hogy figyi, itt meg itt, van ilyen meg ilyen tpl-em.
A megfelelő preprocessben kell meghatározni a feltételt, amikor a te tpl-ed kell.
Ez hatosra van, de zömében még aktuális: http://szantogabor.com/hirek/sajat-modulban-sajat-template-hozzaadasa
----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.
fele oké
Azt sikerült elérnem, hogy a modulom könyvtárában is nézze a template fileokat. ITT egy még precízebb kód. De csak a szokásos "normál" tpl-ekre talál rá.
Még nem tudok adni neki, egy teljesen egyedi valamisajatnevu.tpl.php-t. :(
Akár a smink normál könyvtárába, akár a saját modulom könyvtárába rakom a valamisajatnevu.tpl.php-t.
A "Themer" mintha azt mondaná, hogy a "canidate template files" között ott van a 'valamisajatnevu'