$form->setDefaults z databáze

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

Zdravím,
dá se říct, že s Nette začínám a rozhodl jsem se, že svůj současný web, postavený na Joomla 1.5 předělám do Nette.

Když mám v presenteru actionGame kde získám id hry a game objekt, jak a kde by bylo nejlepší předat objekt game formuláři, vytvořeném přes createComponent, tak abych mohl formulář předvyplnit. Nějak jsem nedohledal co se v presenteru volá dřív, jestli createComponent nebo action.

Díky

Editoval Vanamas (18. 1. 2014 22:03)

s4muel
Člen | 92
+
0
-

no chcel som to najskor rozpisat, ale sam by som to lepsie nenapisal, ako je to tu;)
https://doc.nette.org/cs/forms#…
a k tomu https://latte.nette.org/cs/tags#…
v skratke: ak mas v presenteri spraveny factory na vyrobenie toho formularu (vid prvy odkaz, ale predpokladam, ze ano, pretoze nizsie pises, ze tam mas createComponent), tak v latte staci pouzit:

{control editGameForm}

nejake info naviac: https://doc.nette.org/…n/presenters#…

odpoved na druhu otazku najdes po blizsom preskumani metody actionEdit() v priklade https://doc.nette.org/…editing-form
v riadku

$this["recordForm"]->setDefaults($this->record);

sa vytvori komponenta recordForm a nastavia sa jej hodnoty vytiahnute z db. takze opat v skratke, ak potrebujes do formulara naplnit predvolene hodnoty, tak v actionGame() spravis obdobne:

$this["editGameForm"]->setDefaults(array('nazov_hry' => 'nette sandox', 'hodnotenie' => '***'));
Vanamas
Člen | 20
+
0
-

Děkuji za odpověď a omlouvám se, že jsem tu první otázku smazal, na ní už jsem si odpověď našel, tak jsem to chtěl odmazat v domnění, že na to nikdo ještě nereagoval.