Multijazyčná aplikace na 2 doménách
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Maekoboss
- Člen | 36
Ahoj,
mám domény example.cz a example.sk. Obě směřují na stejný hosting. Dále mám multijazyčnou aplikaci, která má všude perzistentní parametr lang. Všechno funguje v pohodě na adrese example.cz/neco mám český obsah a na adrese example.cz/neco?lang=sk mám slovenský obsah. Nicméně potřebuji, aby to fungovalo tak, že pro .cz se zobrazí cz obsah a pro .sk se zobrazí sk obsah.
Router
// ziskani url a presenteru z db
$database = $databaseObject;
$structure = $database->table('structure')->where('lang', 'cz');
$filterTable = array();
if ($structure) {
foreach ($structure as $item) {
if (($item->presenter != null || $item->presenter != '') && ($item->uri != null || $item->uri != '')) {
$presenterName = explode(':', $item->presenter);
$filterTable[$item->uri] = $presenterName[2];
}
}
}
// vlastni router
$router = new RouteList();
$router[] = $adminRouter = new RouteList('Admin');
$adminRouter[] = new Route('admin/<presenter>/<action>', 'Dashboard:default');
$router[] = $frontRouter = new RouteList('Front');
$frontRouter[] = new Route('<presenter>/<action>', array(
'presenter' => array(
Route::VALUE => 'Homepage',
Route::FILTER_TABLE => $filterTable,
),
'action' => 'default',
));
Jde mi jenom o front routu, díky za rady