použití metody getuser v konstruktoru komponenty
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- pernip01
 - Člen | 21
 
Zdravím všechny,
Řeším jeden asi základní problém.
Když vytvářím komponetu potřebuji zjistit jestli je uživatel přihlášen. Když použiji:
class PocmpForm extends UI\Control
{
    function __construct(DibiConnection $connection)
    {
	$user = $this->presenter->getUser();
	.
	.
	if ($user->isLoggedIn()):
	.
	.
vrátí mi to chybovou hlášku:
Component '' is not attached to
‚Nette\Application\UI\Presenter‘
což je asi přirozené. Ale jak se k tomu uživateli dostat?
Díky.
Editoval pernip01 (28. 3. 2012 21:09)

- llook
 - Člen | 407
 
To nepomůže, pokud si nadřazený prvek nepřipojuje sám, tak se připojí až po provedení konstruktoru. Řešením by bylo připojit ten nadřazený prvek (tj. obvykle konstruktor):
public function __construct(IContainer $parent, $name, DibiConnection $conection)
{
	parent::__construct($parent, $name);
	// ...
}