Předávání parametrů při vytváření Componenty Form
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- ZETCHA
- Člen | 59
Můži nějakým způsobem předat parametr z při vytváření componenty form?
Příklad:
Odkaz na úpravy: web.loc/zakazky/upravit-zakazku/3
Chci vytvořit formulář a naplnit ho daty z DB funkcí
$this->zakazka->dataZakazky($id):
Presenter:
public function actionUpravitZakazku($id)
{
if( $this->user->isAllowed('zakazky', 'edit') )
{
$this->template->title = 'Úprava zakázky:';
}
else
{
$this->flashMessage('Nemáte oprávnění pro úpravy zakázky.');
$this->redirect('Zakazky:default');
}
}
protected function createComponentUpravaForm($id)
{
$data = $this->zakazka->dataZakazky($id);
$form = new AppForm;
$form->addText('nazev', 'Název zakázky:', $data->nazev_zakazky)
->addRule(Form::FILLED, 'Vyplňte prosím název zakázky.');
$form->addSelect('stav', 'Stav:', array('aktivni'=>'Aktivní', 'zruseno'=>'Zrušeno'), 1);
$form->addSubmit('tlacitko', 'Upravit zakázku');
$form->addProtection('Přihlaste se prosím znova (zabezpečovací token vyexpiroval).');
$form->onSubmit[] = array($this, 'upravaFormSubmitted');/**/
return $form;
}
Při vytvářění formuláře se mi do komponenty nepředá $id. Kde dělám chybu?
Editoval Jan Tvrdík (21. 1. 2010 13:19)