Do snippetu uvnitr formu musim pridat var $_form = $form = $presenter[‚myForm‘]. Delam neco spatne?

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

Mam nasledujici kod:

{form branchesForm}
	{input branches_id}
	{snippet usersId}
		{var $_form = $form = $presenter['branchesForm']}
		{input users_id}
	{/snippet}
{/form}

bez toho radku

{var $_form = $form = $presenter['branchesForm']}

dostanu Undefined variable: $_form. Co delam spatne, respektive proc tam ten radek musi byt?

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

Musí tam být, protože makro {input} interně pracuje s proměnnou $_form, kterou vytváří makro {form}. Jenže snippet funguje jako funkce, při invalidaci se volá pouze kód snippetu, nikoliv kód okolní. Nastane tak situace, že $_form neexistuje.

thorewi
Člen | 84
+
0
-

hm a da se to nejak udelat bez toho, aniz bych tam musel davat primo $presenter[‚branchesForm‘] ? Abych to mohl vyuzit v nejake obecne sablone pro formulare :/ Treba upravit funkci redrawControl aby si tam clovek mohl soupnout nejakou promennou? :)

thorewi
Člen | 84
+
0
-

hm, asi na to muzu vyuzit promennou $control