Nette Template – chýba @layout.latte?

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

Mám template systém, všetko beží ako má, až na to, že:
Mám @layout.latte – obsahuje hlavičku, title, a ja nvm čo ešte. Potom mám default.latte, ten obsahuje blok „content“ a v ňom, nejaký ten text. Problém je v tom, že Nette vôbec negeneruje túto šablónu (tým myslím, že negeneruje hlavičku z layout.latte), ale rovno si to cucne default.latte, a z toho všetko vyrenderuje. By ma zaujímalo, kde som zase spravil chybu…

Cifro
Člen | 245
+
0
-

{extends '@layout.latte'}

Editoval Cifro (5. 8. 2011 20:21)

Peppy
Člen | 137
+
0
-

v default.latte?? Nemalo by to byť naopak? Že @layout.latte ťahá default.latte??

Cifro
Člen | 245
+
0
-

Ani nie. Je to naopak. Daš vyrenderovať default.latte, a tá sa rozšíri o @layout.latte.

Ale funguje to aj naopak, keď daš vyrenderovať @layout.latte (tým myslím $template->render()) v ktorom by si mal makro {include 'default.latte'}.

Editoval Cifro (5. 8. 2011 20:28)

Peppy
Člen | 137
+
0
-

No, to viedlo k exception (InvalidStateException) ale vygenerovať to vygenerovalo, len si tam Nette\InvalidStateException hodilo svoje html. :D :D :D

Niečo je pošahané na strane Nette (môjho kódu)…

Editoval Peppy (5. 8. 2011 20:39)

Cifro
Člen | 245
+
0
-

Peppy napsal(a):

Niečo je pošahané na strane Nette (môjho kódu)…

Som to teraz otestoval. S tou logikou, že načitaš najprv layout a do neho sa includujú šablóny sú problemy. Nedajú sa používať bloky. Preto ti hádže tú vynimku. Musiš použiť obratenú logiku, t.j. renderuješ default.latte, ktorá extenduje @layout.latte.

Editoval Cifro (5. 8. 2011 21:51)

Peppy
Člen | 137
+
0
-

Ale veď to išlo aj bez toho aby sa niečo menilo. Len som v BasePresenteri pozmenil beforeRender() a formatTemplateFiles(), nic víc, nic míň. Šmárjá, to je tak, keď nečítam CHANGELOGy..

Patrik Votoček
Člen | 2221
+
0
-

btw máš v @layout.latte {include #content}?

Peppy
Člen | 137
+
0
-

Mám. Jasné, že mám. Práveže ono mi to načíta ten default.latte ale @layout.latte mi vynechá (WTF?!), ide o GitHub verziu…