vykreslení obsahu spinner závislé na proměnné

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

Zdravím, mám následující problém:
edit.latte

{spinner form}
  {if($show==1)}
	{control formXXX}
  {/if}
{/spinner}
<a class="ajax" n:href="edit!,$id">edit</a>

presenter:

public function handleEdit($id){
	$this->template->show=1;
	$this->invalidateControl('form')
}

protected function createComponenentFormXXX($form){
	...
}

formXXXSubmitted{
	...
	$this->template->show=0;
	$this->invalidateControl('form')
}

a tady nastává problém:
Při prvotním načtení stránky „edit“ se formulář nezobrazí, jelikož $form!=1 (což je správně). Při zpracování signálu se formlář zobrazí (což je taky správně). Ale při zpracování formXXXSubmitted a následném nastavení $this->template->show=0 mi presenter stejně šáhne na fci createComponentFormXXX() – což nechci. Podle mě by na funkci neměla šahat, protože jí v ten okamžik nepotřebuje (není zapotřebí vykreslovat control formXXX, jelikož není splněna podmínka pro jeho vykreslení).

Předem děkuji za rady

Editoval drakul (26. 5. 2011 17:44)

Filip Procházka
Moderator | 4668
+
0
-

To formátování kódu je otřené a lépe bys udělal, kdybys to rozložil na více řádků.

Neměl bys po odeslání formuláře přesměrovávat? Takže se ti pak zase „jenom zobrazí formulář“?