Jazyky a path s výchozím prázdným jazykem

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

Ahoj,

potřeboval bych routu která bude akceptovat parametr path (to může být všechno možné př. strana/podstrana-cislo-2)
Zároveň v případě že nebude před touto cestou žádný jazyk použije se defaultní (tj lang to bude vyhozovat jako prázdný, nebo to je vcelku jedno).
V případě že bude jazyk nastaven na nějaký jiný než výchozí tak se přidá před cestu. Zároveň se bude přidávat do odkazů.

Teď mám tohle pouze pro cestu, to mi funguje dobře.

<?php
            Route::$styles['path'] = array(Route::PATTERN => '.*?',);
            $router[] = new Route('<path .+?>', array(
                'presenter' => 'Frontend',
                'action' => 'default',
                'path' => 'homepage'
            ));
?>

Zkoušel jsem různé varianty a kombinace new Route(‚<lang cs|en>/<path .+?>‘… Route(‚en/<path .+?>‘… Více rout, ale prostě nikdy to nedělalo to co chci, když už se povedlo správný routování adres, tak mi to pak negenerovalo odkazy s jazykem.
Nemáte někdo nějaký funkční řešení. Díky.

Editoval Ani (28. 10. 2010 14:58)

Aurielle
Člen | 1281
+
0
-
$router[] = new Route('[<lang>/]<path .+?>'), array(
	'presenter' => 'Frontend',
	'action' => 'default',
	'path' => 'homepage',
	'lang' => 'cs',
));
Ani
Člen | 226
+
0
-

Díky, ale neni to co potřebuju, jednak to bere jako lang i kus cesty, což se dá ošetřit <lang [a-z]{2}>.

Ale když přejdu na adresu xx.com/en/homepage, tak se to sice nastaví s lang=en, ale pak bych potřeboval na té stránce, před ty cesty u odkazů nastavit to en/. Takhle je to generuje bez toho a to je ten hlavní problém.

Ani
Člen | 226
+
0
-

Hmm, tak jsem neměl lang jako persistentni (ale jako perisstent :) ) v presentru, s tím to chodí.
Což mě přivedlo na další dotaz, jestli jde persistence proměný určit nějak přes router.

Editoval Ani (28. 10. 2010 16:11)

Aurielle
Člen | 1281
+
0
-

Nevím o tom, že by se daly… persistentní parametry jsou záležitost presenteru.

arron
Člen | 464
+
0
-

Hlavne je to nesmysl:-)

Ani
Člen | 226
+
0
-

Nesmysl to neni. A implementovat by to šlo, ale není to moc potřebné.