Jak předat formuláři hodnotu kterou si určím, případně v presenteru dosáhnu dovnitř foreach

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

Ahoj, řeším jeden problém.

Mám formulář a po jeho odeslání potřebuji vložit id z prvku pole. Přes this->template->tabulka->id mi to nefunguje, ladička říká, že promměná neexistuje. Je způsob, jak tu hodnotu uložit do formuláře, případně načíst v presenteru? Děkuji moc.

David Matějka
Moderator | 6445
+
0
-

Co konkretne resis? ukaz kod

PavelS
Člen | 66
+
0
-

Řeším akční centrum aplikace a potřebuji pro booking mít možnost na něj odpovědět, notifications je pohled nad něolika tabulkami pomocí union.

V Presenteru Notifications

   protected function createComponentMessageForm()
	{
   $form = new Form;
   $form->addText('text');
   $form->addSubmit('send', 'Send');
   $form->onSuccess[] = $this->messageFormSubmitted;
	return $form;
   }

public function messageFormSubmitted($form,$values)
	{
 $this->database->table('bookingmessages')->insert(array(
       'id_booking' => $this->template->notification->idOfRecord,
       'message' => $values->text,
       'id_user' => $this->getUser()->id,

   ));
 $this->redirect('Notifications:');
 }

V šabloně

{foreach $notifications as $notification}
{if $notification->type=="booking"}
Answer
{control messageForm}
{/if}
{/foreach}

Editoval PavelS (20. 3. 2016 21:08)

David Matějka
Moderator | 6445
+
0
-
PavelS
Člen | 66
+
0
-

Děkuji pěkně! Škoda, že toto není hned v manuálu pro psaní formů, jistě to řeší spousty lidí :-)