LATTE – nastavení třídy html prvku při dědičnosti

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

Dotaz směřuje na dědičnost u LATTE.

Mám hlavní layout aplikace v @layout.latte, dále mám 2 verze pro zobrazení headeru (různý pro přihlášen/odhlášen) a nyní potřebuji z jednotlivých odkazů v přihlášen / odhlášen nastavit odkaz za aktivní. <li class=„active“><a …</a></li>(bootstrapově)
takže moje layout soubory vypadají takto:

logged_in.latte
{layout '@layout.latte'}
{block header}

{/block}

logged_out.latte
{layout '@layout.latte'}
{block header}

{/block}

@layout.latte

{block header}

{block content}

A konečně specifický layout pro např RoomsPresenter akce Room:
room.latte
{layout ‚../logged_in.latte‘}
{block content}

{/block}

Díky této struktuře mám v 1 souboru uložen header pro všechny stránky, které jsou dostupné po přihlášení a stejně tak po odhlášení (dřív jsem měl v každém určitém latte souboru napsaný block header, to se ale po přidávání změn nedalo udržovat(1 změna musela být změněná na 8 místech třeba)).

Jenomže v současné struktuře bych rád chtěl odlišit právě vybraný presenter. A právě nevím, jak se dostat k tomuto atributu v současné struktuře.

Mohli byste mi poradit, jak to provést? Nebo existuje nějaký lepší způsob, kterým by se to dalo provést?

greeny
Člen | 405
+
+2
-

@layout.latte:

{if $user->loggedIn}
	Header pro logged in usera
{else}
	Header pro non-logged in usera
{/if}

Odlišení:

<li n:class="$presenter->isLinkCurrent(':Foo:default') ? active"><a>Foo</a></li>