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
+
0
-

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)

norbe
Backer | 405
+
0
-

Zkus použít $this->getParam("id");

ZETCHA
Člen | 59
+
0
-

Jo jo to jsem hledal. Začínám s NETTE a nedařilo se mi najít tuto funkci. :-)

Díky

Jan Tvrdík
Nette guru | 2595
+
0
-

Formátování příspěvku jsem opravil.