Ruzne menu pro prihlasene a neprihlasene

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

Ahoj,

rad bych udelal menu webu v @laout.latte, tedy v hlavni sablone. Problem je ten, ze v sablone potrebuji poznat, zda je uzivatel prihlasen ci nikoliv.

tedy nejakou takovouto podminku:

if (!$user->isLoggedIn()) {
//vypism enu pro neprihlasene
}else{
//menu pro prihlasene
}

Jak toto prosim vyresit? muzu podminku napsat „prasacky“ do hlavni sablony? vice by se mi to libilo, kdybych sablone predal nejakou promenou, kde by byla ulozena informace o tom, zda je uzivatel prihlaseny, ale jelikoz se jedna o hlavni sablonu (@layout.latte), tak mi neni moc jasne, z jakeho presenteru (nebo kde jinde) tuto promenou sablone predat.

Dekuji za tipy

voda
Člen | 561
+
0
-

Pokud potřebuješ nějakou proměnnou přímo v @layout.latte, tak ji nastavuj v BasePresenteru v metodě beforeRender. Nicméně $user by se měl do šablony předávat automaticky.

tomasnikl
Člen | 137
+
0
-

ok diky, za info, vyzkousim

tomasnikl
Člen | 137
+
0
-

tak jsem si vypsal v sablone co mam v promene $user a mam tam vzdy to stejne at jsem prihlaseny nebo neprihlaseny… neni to divne?

Filip Procházka
Moderator | 4668
+
0
-

Není, do šablony se předává objekt User, tebe ale spíš zajímá identita.

{$user->identity->id}

Pozor ale, objekt user obsahuje identitu, jenom když je uživatel přihlášený.

{if $user->loggedIn}
	Uživatel: {$user->identity->username}
{/if}

Editoval HosipLan (22. 8. 2011 13:04)

tomasnikl
Člen | 137
+
0
-

aha, ok dekuji.. jiy to funguje