volání metody jiného presenteru

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

Ahoj,
na webu mám presenter ForumPresenter, ten v sobě obsahuje formulář + jeho zpracování a slouží ke vkládání příspěvků do fóra. Vše je v pohodě.
Na každý stránce dole ale chci mít formulář „Napište nám“, který bude odesílat zprávy do fóra. Tak jsem v BasePresenteru založil komponentu formulář (potřebuju tam vykreslovat ten formulář jinak a trochu jiný, proto zakládám nový), ale nastal problém: jak navázat tenhle formulář, aby ho zpracovávala ta obslužná metoda z presenteru forum?
Vím, že to není z hlediska návrhu úplně čistý řešení, ale nechci dělat duplicitní funkci a zbytečně plnit BasePresenter… poradíte, prosím? Jak zavolat metodu jinýho presenteru? Příp. jak to upravit, aby to bylo lepší?
Předem díky za pomoc :-)

sKopheK
Člen | 207
+
0
-

Udělej si samostatnou komponentu (= nová třída) a všechno obsluhuj v ní.

had12
Člen | 28
+
0
-

a tu třídu budu volat v base presenteru nějak takhle? $a = new NovyPresenter; $a->metoda();

nebylo by v tom případě jednodušší přesunout formulář z baseP do forumP a jen volat (nějak, nevím konkrétně jak) ten forumP z baseP? nebo nechat ho v tom baseP a jen mu připsat validaci, která zavolá tu metodu z forumPresenteru?

nevím, logicky mi přesun do samostatný třídy vychází jako úplně stejný výsledek, nevidím nějakou „aha výhodu“… můžeš to, prosím, trochu rozvést?

had12
Člen | 28
+
0
-

kouknu na to, díky.