Vícejazyčné routy – nevím co víc napsat nad 25 znaků

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

Zdravím, řeším takovou hloupost jakou jsou vícejazyčné routy. Mnohokrát se zde řešili různé překlady názvu presenteru, ale řešení pro tohle jsem nenašel. Jak takovouhle věc řešit správně?

<?php
$router[] = new Nette\Application\Route('prihlaseni.html', array(
        'presenter' => 'Login',
        'action' => 'login',
));

$router[] = new Nette\Application\Route('login.html', array(
        'presenter' => 'Login',
        'action' => 'login',
));

$router[] = new Nette\Application\Route('zmena-hesla.html', array(
        'presenter' => 'Login',
        'action' => 'changePassword',
));

$router[] = new Nette\Application\Route('change-password.html', array(
        'presenter' => 'Login',
        'action' => 'changePassword',
));

$router[] = new Nette\Application\Route('zapomenute-heslo.html', array(
        'presenter' => 'Login',
        'action' => 'forgottenPassword',
));

$router[] = new Nette\Application\Route('forgotten-password.html', array(
        'presenter' => 'Login',
        'action' => 'forgottenPassword',
));
?>

Editoval 2bfree (21. 1. 2011 10:25)

newPOPE
Člen | 648
+
0
-
<?php
use Nette\Application\Route;

$router[] = new Route('<action>.html', array(
        'presenter' => 'Login',
        'action' => array(
		Route::FILTER_IN => callback('filterIn'), /*prevedie preklad na systemovy nazov*/
		Route::FILTER_OUT => callback('filterOut'), /*preklad systemoveho nazvu na url*/
	),
));
?>

pisane z hlavy ;-) mozno je to opacne.

2bfree
Člen | 248
+
0
-

newPOPE napsal(a):

<?php
use Nette\Application\Route;

$router[] = new Route('<action>.html', array(
        'presenter' => 'Login',
        'action' => array(
		Route::FILTER_IN => callback('filterIn'), /*prevedie preklad na systemovy nazov*/
		Route::FILTER_OUT => callback('filterOut'), /*preklad systemoveho nazvu na url*/
	),
));
?>

pisane z hlavy ;-) mozno je to opacne.

To zni pekne a myslim ze tudy vazne vede cesta, ale nejak si neumim tu funkci predstavit. Tedy ja porad nejak uvazuji variantu s Translatorem, coz asi bude ta chyba.

Aurielle
Člen | 1281
+
0
-
Route::setStyleProperty(Route::FILTER_TABLE, 'presenter', array(
	'uzivatel' => 'Login',
	// ...
));

// To samé s action, případně jakýmikoliv dalšími styly

Ohledně překladů URL pomocí translatoru, na to mám vlastní třidu pracující s filtry nad routami, funguje perfektně…

Oggy
Člen | 306
+
0
-

je možné to tvoje řešení nějak naznačit?

Aurielle
Člen | 1281
+
0
-

Osekaná verze, ale měla by být plně funkční… https://gist.github.com/809774