Přístup k flashMessage z Controlu

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

Možná je to jenom hovadina, ale dneska mam blbej den a nemůžu na to přijít :/

class BookControl extends Control{
...
    public function render(){
	...
	$this->getPresenter()->flashMessage('chro chro');
    	Environment::getApplication()->getPresenter() ->flashMessage('bla');
	...
    }
...
}

Laděnka nereaguje, i ta metoda existuje takže by se to mělo v template objevit ale nic.

A přitom když to dam do presenteru jako $this->flashMessage(‚blabla‘); tak to funguje…

Ondřej Brejla
Člen | 746
+
0
-

Ta template je Controlu? Pak flashMessage ukládej přímo do Controlu přes $this->flashMessage('wtf'), ne?

Editoval Warden (11. 10. 2009 23:13)

JakubKohout
Člen | 92
+
0
-

Nene výpis flashMessage je v @layout. Chci udělat globální zobrazování hlášek na jednom místě.

Ola
Člen | 385
+
0
-

Možná je to blbost (nemůžu to otestovat, nejsem si jistý), ale nemůže to bejt tim, že tu šablonu vykresluješ přes widget ve chvíli, kdy už byly flash zprávičky presenteru vykreslený? Zkus v šabloně controly dát odkaz na signál a flash zprávu vytvořit až tam

JakubKohout
Člen | 92
+
0
-

Bingo ! Jasný, tady se skrejvá zakopanej pes =) Díky moc

Už mě to napadlo předtím, ale neuvědomil sem si že když zavolam $this->invalidateControl(‚flashMessages‘); v componentě tak se k tomu snippetu nedostane a musím přez getPresenter() opět …