Zmena chovani Component::refreshMonitors – prohledavani do sirky VS hloubky
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- honza.trtik
- Člen | 10
Zdravim,
narazil jsem na zajimavy problem pri tvorbe vlastni FormComponent.
V komponente monitoruju pripojeni k presenteru:
public function attached($component)
{
parent::attached($component);
if ($component instanceof Presenter)
{
Debug::dump($this->form->valid); // Vyhodi vyjimku
}
}
Problem je ale v tom, ze Component::refreshMonitors prochazi strom do
hloubky. To znamena ze prvni se zavola attached na FormComponente a az pote
attached na samotnem Formu.
Vysledkem je to, ze v metode attached komponenty nelze volat napr.
$this->form->valid, $this->form->submitted ktere predpokladaji, ze
je form pripojen k presenteru.
Resenim by bylo zmenit Component::refreshMonitors tak, aby se strom komponent
prochazel do sirky, pokud by to nevadilo na jinem miste v nette…
Editoval honza.trtik (15. 10. 2009 16:23)