Špatná cesta pro šablonu u Modulu
- Maisner
- Člen | 6
Zdravím, mám nette 2.0.12 a PHP 5.3 a v nette začínám.
Měl jsem už mnoho počátečních zádrhelů při učení nette, ale všechny
se mi podařilo vyřešit pomocí fora. Teď jsem ovšem nemohl nic najít, co
by řešilo můj problém.
Snažím se udělat modulární aplikaci s moduly Front a Admin.
Struktura:
- app/
- – – AdminModule/
- – – – – presenters/
- – – – – templates/
- – – FrontModule/
- – – – – presenters/
- – – – – templates/
Problém je, když zavolám z FrontModule HomePresenter a akci default.
Vyskočí na mě laděnka se zprávou, že nette hleda šablonu pro tuto akci
v
\app\FrontModule\templates\Frontmodule\Home\default.latte
kde samozřejmě šablonu nemám.
Proč nette nehledá v
\app\FrontModule\templates\Home\default.latte
jak bych předpokládal? děkuji
- David Matějka
- Moderator | 6445
ahoj,
jak odkazujes a odkud na ten HomePresenter?
pravdepodobne nejak spatne, protoze aplikacni request je na Front:Front:Home:default :)
v nette muzes mezi presentery odkazovat bud absolutne nebo relativne,
jednodussi to bude na prikladu:
jsi v presenteru Foo v modulu Front, chces odkazat na Home ve Front, tak
uplne staci:
{link Home:default}
kdybys totiz pouzil
{link Front:Home:default}
tak se toto cele pripoji za aktualni modul a vznikne ti pozadavek na
‚Front:Front:Home:default‘
ale muzes vytvorit odkaz s absolutni cestou
{link :Front:Home:default}
(na zacatku dvojtecka)
to jiz nebere ohled na aktualni modul. tento zpusob je potreba pokud se treba
pohybujes mezi moduly a potrebujes z modulu Admin do Front
- David Matějka
- Moderator | 6445
divny, to vypada, ze je to v poradku… muzes sem prosim hodit cely chybovy vystup? (komplet html)
jeste zkus, jestli se ti pozadavek dostane na aspon presenter – treba v actionDefault si neco dumpni a ukonci aplikaci.
- Maisner
- Člen | 6
Jo požadavek se na presenter dostane. Dumpnul jsem pole a ukončil
aplikaci→ bez chyby.
Výstup
z laděnky
- David Matějka
- Moderator | 6445
nemas nekde prepsanou metodu formatTemplateFiles ? :) nic jinyho me fakt nenapada, zkus se tady v tom miste postourat v kodu – co tato metoda vraci apod. jelikoz tuhle cestu by fakt vracet nemela – jeste k tomus malym pismenkem „m“ v Frontmodule :)