Použití metody z BasePresenter ve vykreslitelné komponentě

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

Dobrý den
Nevím si rady s tímto problémem:

V BasePresenter mám zavedené základní modely a také tam mám mimo jiné jednu metodu která je využívá.
Zmíněnou metodu používám skoro ve všech presenterech a potřeboval bych jí použít také v jedné vykreslitelné komponentě ale nevím jak na to nejlépe.

dakota
Člen | 148
+
0
-

Aktuálny presenter v nejakej komponente:

$this->presenter->someMethod();
daliborcaja
Člen | 57
+
0
-

Díky funguje :-)

daliborcaja
Člen | 57
+
0
-

Teď jsem ale přišel ještě na další problém.

V komponentě mám ještě kromě metody render, která ji vykresluje, další metody (statické), které se volají z metody render ale také přimo z určitých presenterů způsobem Komponenta::statickaMetoda.

V těchto logicky předešlý způsob volání metod z presenteru nefunguje. Jak na to? Přesouvat tuto metodu do BasePresenter se mi nechce, i když by to problém řešilo, protože logicky spadá pod komponentu.

Pro přibížení situace:
Komponenta = nákupní košík
Statické metody = přidání položky, vysypání, select položek
V metodě pro select položek se přidávají k položkám pomocí funkce v BasePresenter udaje jako např. nazev produktu.

Šaman
Člen | 2666
+
0
-

Možná s ještě zamysli jestli by nebylo lepší volat metody jako přidat/odebrat položku z košíku dynamicky.
Otázkou je, čemu říkáš komponenta. Nákupní košík je příklad komponenty kterou bys měl přenášet mezi požadavky. Nebo máš položky v sessions a komponenta jen kreslí a obaluje to? Pak by ty statické metody měly být ve třídě modelu..

daliborcaja
Člen | 57
+
0
-

Ano položky mám v sessions. Oddělení statických metod do modelu bude rozumné. Díky za radu.