Pridanie callbacku formuláru mimo továrničky

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

Zdravím,

vytváram si formulár, ktorý používam viac krát (typicky editácia prvku, pridanie prvku) a chcem si k nemu priradiť v rendereri vždy iné callbackové metódy. Bohužiaľ nasledovná konštrukcia mi nefunguje. Viete mi poradiť ako to rozchodiť? Ďakujem!

	public function renderAdd() {
		$form = $this['manageForm'];
		$form->onSuccess[] = callback($this, 'addFormSubmitted'); //nevola sa

		$this->template->addForm = $form;
	}
vvoody
Člen | 910
+
0
-

Neskoro tam ten callback pridávaš. Presun to do action. Ten by sa mal vykonať pred spracovaním formulára.

RichardT
Člen | 43
+
0
-

Dík, pomohlo.

Na vyjasnenie veci: čo znamená spracovanie formulára a prečo sa deje pred volaním render? Z môjho pohľadu som to doteraz chápal tak, že action bol iba alias pre render kôli tomu, aby bolo jasné že nič nevykreslujem. No a teraz mám action, nemám render a vykreslujem :)

Editoval RichardT (4. 11. 2012 0:30)

vvoody
Člen | 910
+
0
-

Vždy sa vykoná každá časť životného cyklu dokiaľ ten cyklus predčasne neukončíme (npr redirec). Čo znamená spracovanie formulára? To je presne vtedy keď formulár odošleš a detekuje sa to signálom, ktoré sa spracúvaju po action a pred render metódou.