použití metody link přímo v kodu komponety

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

Zdravím,

asi je to začátečnický dotaz, ale mám komponentu a potřebuji přímo v kódu (ne v šabloně) vytvořit odkaz na presenter.

proto jsem chtěl v komponentě použít metodu link viz ukázka níže.

function __construct($jazyk, $db, $sess, $user, $cont )
   {
		parent::__construct();

		........

		 $odkaz = $this->link("Asedoc:Def",$args);

	}

Problém je v tom, že dostávám hlášku Component '' is not attached to ‚Nette\Application\UI\Presenter‘.

Dotaz tedy zní, jak se na tuto funkci správně odkázat, protože standardní makro plink v template funguje správně. Standardně bych jej i použil až v šabloně, ale opravdu odkaz musí být generován přímo v kódu.

Děkuji za odpověď.

Editoval klines (24. 4. 2015 7:59)

Pavel Kravčík
Člen | 1196
+
0
-

Nefunguje tohle?

$this->presenter->link()
$this->getPresenter()->link()
Felix
Nette Core | 1247
+
+1
-

Odkaz samozrejme muzes generovat takhle, ale na jinem miste. Idealne v render metode. Pripadne v nejakych specialnich pripadech po napojeni na presenter nebo jineho predka, v attached metode.