Ziskani params z Nette\Application\Request v komponente

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

Chtel bych se zeptat, mam komponentu (UI\Control) na prihlasovani k facebooku a potreboval bych se v ni dostat k parametrum obsazenych v URL. V ladence tyto udaje vidim v Nette\Application\Request → params → state, ale nevim jak se k nim dostat (asi pres nakej Getr). Jde o to, ze po facebook prihlaseni se zpet z facebooku presmeruju na muj web a tyhle data mam v url a potreboval bych je v te komponente zpracovat a overit.

saimons
Člen | 293
+
0
-

Uz jsem na to asi prisel, funguje mi to takhle: (jestli je to OK?)

$params = Environment::getApplication()->presenter->request->getParams();
\Nette\Diagnostics\Debugger::dump($params['lang']);
Jan Tvrdík
Nette guru | 2595
+
0
-

Není to OK :)

Správný postup je

$params = $this->getPresenter()->getRequest()->getParams();
saimons
Člen | 293
+
0
-

Diky za odpoved, mel jsem to v __construct(): Component '' is not attached to ‚Nette\Application\UI\Presenter‘ a tam je to blbost mit, ze?

Filip Procházka
Moderator | 4668
+
0
-

V konstruktoru, pokud nepředáváš do něj rodiče a nepřipojuješ komponentu přímo v něm, tak rodiče (presenter) mít přístupného mít nebudeš.