převzetí lang z URL do beforeRender

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

Zdravím chci udělat web s jazyk. mutací, data se budou tahat z databáze.

Mám:
$router[] = new Route(‚<lang=cs>/<page>‘, ‚Page:default‘);

Jak mám převzít $lang do beforeRender()?

hAssassin
Člen | 293
+
0
-

@breeta > do BasePresenteru staci pridat property, ktera musi byt public a persistent stejnyho nazvu jako je v route, cili:

class BasePresenter extends \Nette\Application\UI\Presenter
{
	/**
  	 * @persistent
	 */
	public $lang = NULL;

	...

	public function beforeRender()
	{
		parent::beforeRender();
		dump($this->lang); die;
		...
	}
}
breeta
Člen | 68
+
0
-

Asi dělám něco špatně hází to NULL …

Editoval breeta (5. 8. 2011 16:07)

Filip Procházka
Moderator | 4668
+
0
-

Zkontroluj jestli jsi správně napsal slovo persistent a taky Routing Debugger.

hAssassin
Člen | 293
+
+1
-

ted me jeste napadlo, ze muze problem ve vychozi hodnote. Pokud v route nemas u lang vychozi hodnotu nastavenou tak bude NULL, resp. bude stejna jako v definici property v BasePresenteru, takze by bylo mozna lepsi tam tu vychozi hodnotu nastavit:

/**
 * @persistent
 */
public $lang = 'cs';