co umisťovat do metody render a co do action v presenteru?

vosy
Člen | 525
+
0
-

Ahoj, chtěl bych se zeptat, jaké operacu provádíte v metodách render a jaké v action v presenteru.

Např nastavení defaultních dat formuláře byste neastavili kde?

$form = $this['novyRozpisForm'];
...
...
$defaultFormValue = [];
$defaultFormValue[NovyRozpisFormFactory::FORM_CONTROL_YEAR] = $form_defaultYear;
$defaultFormValue[NovyRozpisFormFactory::FORM_CONTROL_WEEK] = $form_defaultWeek;

$form->setDefaults($defaultFormValue);
Marek Bartoš
Nette Blogger | 1165
+
+3
-

Do render jen to, co se týká šablony. Což bude nastavení šablony a předání hodnot do šablony.
Formuláře nastavuju v createComponent*(), ale kdybych se měl rozhodovat mezi action a render, tak v action. Formuláře se zpracovávají v handle (mezi action a render), takže ne vše bude v render fungovat

Šaman
Člen | 2634
+
0
-

Cokoliv s formuláři už v action. Mnoho záseků třeba se zahozenými daty v odeslaném formuláři mají příčinu v tom, že se upravovaly až v render metodě.

Jinak jak psal Marek. Action metoda je na všechno, kromě předávání dat do šablony.
Render metoda je sice v presenteru, ale řeší věci týkající se view, takže v MVP patří spíš do V.

Editoval Šaman (6. 12. 2022 0:26)