Neupdatující se snippet v layoutu

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

Mám ajaxový formulář, který chci mít globálně pro všechny stránky. Je nadefinovaný v BasePresenteru a zobrazený v layoutu. Po odeslání na úvodní stránce se sice provede akce tak, jak má, ale neupdatuje se snippet. Po odeslání na podstránce, kde je jiný ajaxový formulář se snippet aktualizuje tak, jak by měl.

Neví někdo, čím by to mohlo být? Budu moc rád za rady.

Vyki
Člen | 388
+
0
-

Nebude problém v zavináčích? Do layoutu bys ten snippet podle mého musel načítat takto:

@{include #bloksesnipettem}
{include #content}

\\EDIT: a také je otázka, kde máš uloženou tu šablonu s tím snippetem. Je to komponenta?

Editoval Vyki (11. 2. 2010 19:08)

Kenn
Člen | 110
+
0
-

Snippet je přímo v @layout.phtml. Zkoušel jsem ho dát do bloku a taky to nefungovalo. Divné je, že to funguje na té stránce s jiným ajaxovým formulářem, jinde ne.

{snippet login-form}
	{if !$logged}
		{widget loginForm}
	{else}
		<p><strong>Logged in as {$user->nick}</strong>
		<br /><a href="{link Login:logout}">Log Out</a></p>
	{/if}
{/snippet}

Editoval Kenn (11. 2. 2010 19:41)

Ondřej Mirtes
Člen | 1536
+
0
-

Nebude to tento problém? Potkal jsem se podobným chováním.

K debugování doporučuju záložu Síť ve Firebugu :)

Kenn
Člen | 110
+
0
-

Wow, fakt že jo. Do šablony jsem přidal řádek @{extends @layout.phtml} a před {block content} (i když zatím prázdný) jsem taky hodil zavináč a snippet se updatuje. Díky moc.

Edit: a po testu jsem zjistil, že stačí akorát zavináč před {block content}. Možná by to chtělo edit zavináčové magie.

Editoval Kenn (12. 2. 2010 14:33)