odoslanie $form do template

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

Mám velmi trivialnu otazku -
Ked chcem vykresovat formular manualne ako odoslem cely $form do templatu? Keďže $this->template->form = $form vo funkcii CreateComponentForm nefunguje …

Ďakujem

Aurielle
Člen | 1281
+
0
-

Stačí v šabloně přistoupit k formuláři přes $presenter['nazevFormu'].

22
Člen | 1478
+
0
-

jak říká HosipLan, v Nette školce by tě měli naučit, že pro plnění proměnný do šablony slouží render metody. V action metodě naplníš form defaultními hodnotami.
Získáš ho takto:

$this->template->form = $this->getComponent('komponenta');

//nebo
$this->template->form = $this['komponenta'];

Editoval 22 (2. 6. 2011 9:54)

ricco24
Člen | 141
+
0
-

Super, dakujem. Uz mi to funguje. Popripade ma napadlo ci by sa to nedalo spravit elegantnejsie a nastavit formu priamo vlastnu templatu.

Ale cez funkciu $form->setTemplate(‚…‘) mi to nefunguje

Filip Procházka
Moderator | 4668
+
0
-

Formuláře nemají vlastní šablony. Lepší je si ho vykreslit (klidně i ručně) do toho presenteru, kam ho připojuješ. Většinou vlastní šablona není potřeba.

mkoubik
Člen | 728
+
0
-

Případně by mělo fungovat něco jako {include @form.latte form => $form}.