jazyk v url a jeho odchyceni

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

Zdravim,

prosim pomozte mi. Potreboval bych vedet, jak udelat nejakou „default action“, ktera je schopna ulozit do session jazyk odchyceny z route-u. Nevim jestli je mozne handlovat jazyk primo v mem basePresenteru. Kod routy bych chtel aby vypadala nejak takhle:

$router[] = new Route('[!<lang=en>/]<presenter>/<action>/[<id>]', 'Homepage:default');

a pak v basePresenteru bych chtel neco, co se bude zakazdym volat pri kazdem zdedenem presenteru a pri libovolne akci, neco na spusob:

public function actionDefault($lang) {
    $mysection = $this->getSession('language');
    $mysection->lang = $lang;
    $this->translator->lang = $mysection->lang;
    $this->template->lang = $this->translator->lang;
}

Dekuji moc za pomoc

David Matějka
Moderator | 6445
+
+2
-

Muzes udelat $lang jako persistetntni parametr, jako je to videt v dokumentaci kdyby/translation

A v base presenteru to muzes resit treba v metode startup, ktera se vola vzdy pred action

blueticket
Člen | 41
+
0
-

Dekuji moc!!! A jestli mohu jeste jednu „blbou“ otazku, jen pro info, tyhle „poznamky“ v kodu maji tedy klicovy vyznam?

/** @persistent */

/** @var \Kdyby\Translation\Translator @inject */

Dekuji

David Matějka
Moderator | 6445
+
+2
-

ano, jedna se o docblock (nebo phpdoc) anotace (na rozdil od komentaru zacinaji /**, komentare maji jen jednu hvezdicku). A pouzivaji ji ruzne FW a nastroje, treba nette, symfony, doctrine