Akce pokud jsem v určitém modulu

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

Zdravím,
potřebuji vypsat text, pokud jsem v modulu Admin (mám jich více). Napadlo mě následující řešení:

<li n:if="(strpos($presenter->getRequest()->getPresenterName(), 'Admin') === 0))">Admin text</li>

Jde to udělat více fešácky? Tím myslím zavolat něco co vrací název modulu.

mkoubik
Člen | 728
+
0
-

To asi ne, ale můžeš použít kratší Strings::startsWith($presenter->name, 'Admin:').
Edit: a nebo si nastavit nějakou proměnnou v beforeRender() společného předka a pak to testovat v šabloně.

Editoval mkoubik (19. 9. 2012 11:43)

aGr
Člen | 45
+
0
-

Ok, díky za nápady.

pawouk
Člen | 172
+
0
-

Tak pokud mají ty admin moduli společneého předka BaseAdminModule tak takto:

beforeRender(){
	$this->template->admin = TRUE;
}

v soablone pak uz jen {ifset $admin}admin text{/ifset}

Ačkoliv stejně moc nechápu jak to myslíš. Pokud seš v modulu admin tak máš i šablonu odpovídají presenteru a pak v šabloně budeš vždy admin ne?