Routování webu – subdomény a presentery
- BuGeR
- Člen | 45
Dobrý den.
Dostal jsem za úkol vytvořit síť webů.
Dejme tomu, že máme společnost, která funguje pro celou evropu.
V některých státech pak máme oddělení pro danou zemi.
Je třeba vytvořit web jak pro celou evropu, tak pro jednotlivé státy. Domény budou teda vypadat zhruba takto:
- example.com (hlavní web pro celou evropu)
- cz.example.com (oddělení pro Česko)
- pl.example.com (oddělení pro Polsko)
atd..
Všechny weby budou vypadat úplně stejně (grafika se bude lišit jen nějakou barvou) a budou obsahovat stejné „typy“ věcí – články, galérie, události, apod. Každý web bude mít ale samozřejmě vlastní články, vlastní galérii, atd.
Příjde mi nejjednodušší to udělat v rámci jedné Nette aplikace pod jednou databázi.
Při návrhu jsem se ale hned zasekl u jedné věci.. Jak nejlépe udělat
routování?
Zkouším si hrát s routou:
$router[] = new Route('<site>.<domain>/<presenter>/<action>', array(
'presenter' => 'Home',
'action' => 'default',
'id' => NULL,
'site' => NULL,
)
);
Ale nepříjde mi to jako dobrý nápad. S takovou bych musel předávat parametr site do všech metod presenteru.
Neexistuje nějaký způsob, jak předat subdoménu do presenteru – např. do nějaké proměnné instance toho presenteru?
Napadlo mě ještě to dát celé do modulů – měl bych tak pro každý web vlastní modul. Ale to bych musel pořád kopírovat presentery a šablony.. což by bylo šílené pro udržování nějaké konzistence celé aplikace, a navíc ty jednotlivé weby musí jít vytvářet v administraci, nikoliv ručně na serveru.
Možná, že to dělám celé špatně, a existuje nějaké chytřejší řešení – kdyžtak mě prosím nakopněte.
Děkuji
Editoval BuGeR (27. 5. 2015 23:13)
- Jan Tvrdík
- Nette guru | 2595
Neexistuje nějaký způsob, jak předat subdoménu do presenteru – např. do nějaké proměnné instance toho presenteru?
Existuje. Hledej persistentní parametry a nejdeš.