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

Zdravím,

našel jsem tu podobné téma, bohužel nijak nepomohlo, takže jsem se rozhodl založit nové. Jde o pořadí metod render* a createComponent*. Při odeslání formuláře se metoda render* vůbec neinicializuje. Deklaruju v ní atribut, takže je pro mě důležitá.

public function renderArticle ($id)
{
	$this->id = $id;
}

// ...

public function createComponentEditArticle()
{
	//...
	$form->setDefaults(array(
		'id' => $this->id
	));
	//...
}

Po odeslání formuláře mi pak samozřejmě vyhazuje chybu. Dělá se to v Nette jiným způsobem?

vitkutny
Člen | 73
+
0
-

property nastav v konstruktoru nebo nejpozději v metodě attached

Minoru
Člen | 11
+
0
-

Jak konkrétně by to šlo udělat? Mohl bys mi napsat příklad?

F.Vesely
Člen | 369
+
+3
-

Metody createComponent*() se volaji, az kdyz je komponenta poprve potreba. Nekdy je to pred render*() a nekdy az po render*(). Vzdy je to ale po action*(), takze to prirazeni dej do metody actionArticle($id).