Vynuceni vychozi hodnoty persistentniho v route

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

Zdravim, mam problem, ze se mi nedari zobrazit vychozi hodnotu v route. Problem jsem zredukoval na minimum kodu. Necht mam jednoduche pravidlo routy

$container->router[] = new Route('<lang [a-z]{2}>/<action>', array(
    'presenter' => 'Articles'
));

a persistentni parametr $lang = ‚en‘ v base presenteru.
Pak se mi nedari vygenerovat linky pro anglickou cast webu. Ostatni jazyky mi funguji bez problemu.
Pokud zrusim vychozi hodnotu v persistentim parametru, tak se take spravne zacne generovat odkaz pro en verzi. Lze to resit upravou pravidla v route?

V cs se mi bez problemu vytvori cesty /cs/news, /cs/archive, ale v en dostanu pouze error: No route for Articles:news(). Dekuju za odpovedi.

Nette Framework (version 2.0.3 released on 2012–04–04, https://nette.org)

grandmaster
Člen | 9
+
0
-

Diky, ale ja potrebuju naopak tu hodnotu persistentniho atributu v url, aby mi to vytvorilo adresy /en/news i /cs/news.

Michal Vyšinský
Člen | 608
+
0
-

Tak v tom případě takto:

$container->router[] = new Route('[!<lang [a-z]{2}>]/<action>', array(
    'presenter' => 'Articles'
));

Edit: mažu předchozí příspěvek

Editoval CherryBoss (18. 2. 2013 13:17)

grandmaster
Člen | 9
+
0
-

Bohuzel, i to jsem zkousel. I tu pravou zavorku posouvat ve vyrazu dale :(