Efektivní vícejazyčné routy
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- 2bfree
- Člen | 248
Zdravím,
snažím se udělat co nejefektivnější routy a narazil jsem na problém vícejazyčnosti.
momentálně mám routy:
<?php
$router[] = new \Nette\Application\Routers\Route('<lang>/[<page>.html]', array(
'module' => 'SimplePage',
'presenter' => 'Pages',
'action' => 'showPage',
'page' => array(
\Nette\Application\Routers\Route::VALUE => 'welcome',
\Nette\Application\Routers\Route::PATTERN => '^(login|logout)+',
),
),
$secured === TRUE ? \Nette\Application\Routers\Route::SECURED : 0
);
$router[] = new \Nette\Application\Routers\Route('<lang>/<action>.html', array(
'module' => 'Authentication',
'presenter' => 'Authentication',
'action' => array(
\Nette\Application\Routers\Route::PATTERN => '(login|logout)+',
)
),
$secured === TRUE ? \Nette\Application\Routers\Route::SECURED : 0
);
?>
Ta první routa přijímá jako parametr page cokoliv kromě login a
logout.
Druhá routa přijme jako parametr action pouze login a logout.
Když bych ale chtěl tu druhou upravit tak aby brala adresy:
/cs/prihlaseni.html
/cs/odhlaseni.html
/en/login.html
/en/logout.html
Zároveň bych tedy chtěl, aby ta první nebrala to samé.
A v ideálním případě, aby první brala i toto:
/cs/login.html
/cs/logout.html
/en/prihlaseni.html
/en/odhlaseni.html
Tak upřímě opravdu netuším jak na to. Poradili byste mi prosím?
Editoval 2bfree (23. 1. 2012 13:11)