Špatná cesta pro šablonu u Modulu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Maisner
Člen | 6
+
0
-

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
+
0
-

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

Maisner
Člen | 6
+
0
-

Front:Home:default se mi načítá hned, při startu aplikace. Takže se na něj odkazuji z routeru ne? Kde mám toto:

	$router[] = new Route('<presenter>/<action>[/<id>]', 'Front:Home:default');

Aplikační request je Front:Home:Default, teda tak to hlásí debugg bar.

David Matějka
Moderator | 6445
+
0
-

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
+
0
-

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
+
0
-

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 :)

Maisner
Člen | 6
+
0
-

jo díky, za nasměrování. podívám se po tom :-)

Edit:
Tak se omlouvám za planný poplach :-/ Chyba byla v tom, že jsem v namespace měl všude Frontmodul místo FrontModul.
Blbá chyba, ještě jednou se omlouvám.

Editoval Maisner (10. 9. 2013 15:50)