Rozdílný obsah bloku před a po přihlášení

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

Zdravím. S nette teprve začínám a doposud jsem si u každého problému vystačil s dokumentaci nebo fórem. Teď si však už nejsem rady :/ Mám stránku, na které je v hlavičce neustále zobrazený box a v něm přihlašovací formulář, který bych chtěl, aby se po přihlášení změnil v jednoduché uživatelské menu.

Řešení stylem:

{if $user}
<form action ...
<input ....
<input ..
</form>
{else}
Prihlasen: {$user->getName()}
<a href.... Odhlasit
{/if}

Mi nepřipadá jako pravé ořechové :/ Můžete mi někdo poradit, jak tedy měnit pouze část stránky, v zavíslosti na tom, zda je uživatel přihlášen nebo ne?

Honza Marek
Člen | 1664
+
0
-

Podmínka je v pohodě. Akorát otázka, co to je ten $user.

Já osobně si do šablony přiřazuju proměnnou $user s hodnotou Environment::getUser().

Potom v šabloně napíšu

{if $user->isAuthenticated()}
...
{else}
...
{/if}
Pepino483
Člen | 2
+
0
-

V BasePresenteru mám

<?php
$user = Environment::getUser();
$this->template->user = $user->isAuthenticated() ? $user->getIdentity() : null;
?>

Ono to funguje tak jak to mám uděláno, spíše mi jde o to, zda je to optimální řešení.. Jestli není chyba řešit, zda je/není uživatel přihlášen v šabloně..

srigi
Nette Blogger | 558
+
0
-

Pepino483 napsal(a):

V BasePresenteru mám …

Ono to funguje tak jak to mám uděláno, spíše mi jde o to, zda je to optimální řešení.. Jestli není chyba řešit, zda je/není uživatel přihlášen v šabloně..

Takto to mam aj ja, ak sa nemylim je to z akrabatu, takze ja to povazujem za racionalne riesenie.