Problém s vkládáním snippetu do šablony, která má jiný layout

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

Zdravíčko. Už nad tím bádám hodiny a nevím co s tím. Budu moc rád za každou radu.

Mám následující strukturu šablon. Obyčejný @layout a v něm {block #content} do toho bloku se vkládá další layout @sekceLayout a v něm je {snippet sekce}{block #sekceContent}{/block}{/snippet}. Pro názornost jsem to nakreslil tady: http://cl.ly/B8s7/o

Když to tam takto povkládám, tak je to zřejmě špatně už samo o sobě. Vykreslí se to špatně. To co je uvnitř snippetu se vykreslí na webu jako první ještě před <head>. Proč? Pokud zkusím snippet invalidovat po ajaxovém volání, tak dostanu 500 internal server error ve firebugu a nic dalšího (v php error logu nic není, dá se někde zjistit co konkrétně se stalo za chybu?)

Zkusil jsem hodit ten snippet i do šablony @layout kolem toho blocku #content. To se spustí v pohodě a dokonce to i funguje pro stránky které nemají žádný další layout. Když to ale zkusím pro ten @sekceLayout, tak to hodí zas 500.

Dočetl jsem se na fóru, že to je nějaký bug Nette 2.0 tak jsem provedl downgrade na 0.9.7 a zkusil zavináčovou magii. Stále nic.

Co byste dál zkoušeli? Asi mám hokej v tech blocích a nippetech, jak to tam správně vkládat. Díky za jakýkoli nápad.

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Ad ajaxové chyby: nainstaluj si do Firefoxu Firelogger, potažmo domovská stránka (je teda pro nové Nette).

Editoval vojtech.dobes (21. 10. 2011 20:51)

22
Člen | 1478
+
0
-

…vyhodí to 500? To co tam máš v tom obrázku by mělo teoreticky fungovat aspoň na Nette2, používám dědičnost celkem hojně protože ten bug. co zmiňuješ se týka include a snippetů a pravě dědičnost šablon tím netrpí. Každopádně si zapni DEV mod, at víš, co je za tou 500kou a napřed si ověř dědičnost bez snippetu. Možná bych ho přesunul z druhé až do třetí šablony, ale mělo by to fungovat i takto.