Routování – Překlady rout

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

Mám aplikaci, která má běžet ve více mutacích. Vývoj probíhá na jednom místě a obsahuje všechny případné překlady.
Jazyk určujeme natvrdo v configu, jelikož změna jazyka probíhá přes změnu domény (v url nuvidíte /cs, /it, /en …).
Tzn. neco.cz ⇒ v češtině, neco.it ⇒ v italštině...... Tím má i každá mutace svou db, data v ní.

Nicméně narážím na jeden problém, routy.
Jak to řešíte vy?

Napadlo mě mít „Hlavní router factory“ a do ní si přes __constructor předat jazyk z configu.
Dle jazyku pak donastavit routy jako takové. bud vložit příslušný soubor a nebo data z array pole.
Samotnému se mi způsob moc nelíbí.
Bud bude soubor moc velký a nebo budu duplikovat routy do xyz souborů (xyz dle počtu překladů).

Pavel Janda
Člen | 977
+
0
-

Je zde třeba možnost vytvoření jediné routičky s filtrem in i out

new Route('[<url [a-z-0-9\/]+?>]', [
	NULL => [
		Route::FILTER_IN => [$url_model, 'urlIn'],
		Route::FILTER_OUT => [$url_model, 'urlOut']
	]
]);

Metoda urlIn přeloží url na pole, které najde například v databázi (může obsahovat presenter, action, nějaký parametr – id).

Metoda urlOut udělá opak – vezme pole parametrů a podle toho v databázi (nebo jinde) najde url.