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.