Získání hodnoty v createComponentForm z setDefaults
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- joehoe
- Člen | 12
Ahoj, otázka: je možné získat hodnotu prvku „test“ ve funkci createComponentForm, kterou naplním pomocí metody setDefault v actionForm?
function actionForm($id) {
$form = $this['form'];
$form->setDefaults('test' => 1);
}
function createComponentForm(Form $form) {
$form->addHidden('test');
dump(hodnota z test);
}
- 22
- Člen | 1478
@joehoe: tím, že voláš $form = $this['form'];
a
komponentu připojíš k presenteru, tak se jaksi provede i ten dump, kde
očekáváš hodnotu, která ještě není nastavená, takže napřed se mrkni
na životní cyklus presenteru. Pokud si v te action metodě vypíšeš hodnotu
test
, tak určitě bude nastavená. Jinak taky moc nevím, čeho se
snažíš dosáhnout?
Ten tvůj zápis je nějak špatně a divím se, že to vůbec funguje:
public function actionForm($id)
{
$form = $this->getComponent('form');
$form->setValues(array(
'test' => 1
));
}
protected function createComponentForm()
{
$form = new Form();
$form->addHidden('test');
return $form;
}
Editoval 22 (27. 5. 2012 14:54)