Naplnění privátní proměnné

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

Zdravím všechny, tak jsem se dostal opět k problému, v presenteru Homepage mám:

private $datumOd = '2016-12-24';
private $datumDo = '2016-12-27';

V renderDefault() na to odkazuju pres $this->datumOd atd… muj problém je ale ten, že pres handele to datum měnim, to funguje v pořádku, nicméně bych potřeboval aby to datum v těch privátních proměnných mohl nastavit na začátku přes funkce co mám v modelu, třeba

$this->cas->dnesniDatum();

Tuší někdo jak na to? $this->cas->funkce() nefunguje jinde než v beforeRender() nebo v konstruktoru nebo privatnich/verejnych funkcich, nicméně tyhle proměnný existujou jen v hlavní stránce, nikde jinde, někdo nějaký nápad?

Editoval Webster.K (27. 12. 2016 13:01)

CZechBoY
Člen | 3608
+
0
-

Pokud chceš ty proměnný i jinde tak je dej protected a přesuň do BasePresenteru.

Webster.K
Člen | 212
+
0
-

Potřebuju je jen v presenteru homepage, nikde jinde :/ a tahat to celou aplikaci kdyz to nema smysl mi prijde kravina

CZechBoY
Člen | 3608
+
0
-

Tak potom nechápu problém.

Oli
Člen | 1215
+
0
-

Moc jsem z toho nepochopil o co se snazis. Tyhle

private $datumOd = '2016-12-24';
private $datumDo = '2016-12-27';

máš v presenteru nebo někde v modelu? A komu je chceš předat. Na to se normálně používají setMetody…

uestla
Backer | 799
+
0
-

@Webster.K Nastav ty proměnné v metodě actionDefault().

Pokud jsou ty proměnné potřeba jen na hlavní stránce, zvaž také vyčlenění ostatní logiky do samostatného presenteru.