Životní cyklus komponenty po redrawControl
- sucho
- Člen | 57
Zdravím
Vytvoril som si vlastné ControlMacro
kde som vytvoril funkciu preRender()
aby som v render()
metódach komponent nemusel písať stále tie
isté veci
hlavne $this->template->setFile(...);
a
$this->template->render();
a pridáva mi to beforeRender()
a afterRender()
pre
komponenty
funguje to super
ale keď v komponente použijem handle
a zavolám
$this->redrawControl()
tak sa zavolá iba render()
metóda no moja
preRender()
funkcia sa nevyvolá
a ani v payload mi nevráti snippets
keď setnem v render()
metóde komponenty
$this->template->setFile(...);
a
$this->template->render();
tak sa komponenta prekreslí ako má
hľadal som rôzne po fóre ale nikdy nikto nezodpovedal na otázku
životného cyklu komponenty
ako funguje presenter viem a poznám tu schému
videl som aj video od @DavidMatějka https://www.youtube.com/watch?…
Potreboval by som však zistiť čo sa deje po zavolaní
redrawControl()
respektíve odkiaľ sa volá render()
komponenty
Podľa mojích zistení sa volajú funkcie v takomto poradí
handle()
v komponenteredrawControl()
https://github.com/…/Control.php#L92afterRender()
v presentrirender()
v komponenteshutdown()
v presentri
Editoval sucho (31. 3. 2019 13:43)
- F.Vesely
- Člen | 369
Ten render se bude volat zde https://api.nette.org/…dge.php.html#…
Nicmene, nez delat takhle makro, tak bych si radsi udelal vlastni Traitu/BaseControl a tam mel neco jako
Pak bych jen prepisoval tu metodu getTemplateParameters v jednotlivych komponentach.