Předání ID do formuláře v presenteru

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

Zdravím,

potřeboval bych nějak elegantně předeat do formuláře ID, nyní to řeším pomocí hidden prvku a načítání parametru. V pohledu Article je úmístěn i ten formulář.

public function renderArticle($id)
	{
    $this->template->article = $this->getService('model')->getArticle($id);
}


protected function createComponentVoteForm()
{
    $form = new Form();
    $form->addHidden('article', $this->getParam('id'));
	    /*  nějaké inputy pro hodnocení  */
    $form->addSubmit('vote', 'Hodnotit');
    $form->onSuccess[] = callback($this, 'voteFormSubmitted');
    return $form;
}

public function voteFormSubmitted(Form $form)
{
    /*  zde se bude $form->values->article; ukládat do DB  */
    $this->redirect('this');
}

Poradíte někdo, jak na to, resp. nějaký čistý a jednoduchý způsob? Díky za jakékoliv popostrčení.

llsm
Člen | 121
+
0
-

Nemusis to predavat pres formular, $this->getParam('id') si zavolej az v voteFormSubmitted(Form $form)

awsickness
Člen | 98
+
0
-

pokud ti jde o neco jako article/edit/1 tak si udelej persistent parametr id. a pak nemusis nic strkat do formulare.

Tomáš Votruba
Moderator | 1114
+
0
-

kuchařce je to krásně popsané.

enigma
Člen | 14
+
0
-

Děkuju vám, persistentní parametr to řeší přesně jak potřebuji.