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í :-)