Nová adresa a původní aplikace – směrování
- n.u.r.v.
- Člen | 485
Ahoj, mám jednu nette aplikaci která běží na nějaké adrese mujweb.cz. Teď ale vznikl požadavek, že se udělá jedna stránka která bude mít adresu mujweb2.cz a bude to vlastně skoro to samé co původní app, jen bude osekaná o nějaké položky a bude mít jiný layout, nicméně bude používat hodně funkcí původní stránky a stejnou db. Na starém webu bude i odkaz na tuto novou stránku.
Řeším jak to udělat čistě – zatím mě napadlo následující řešení:
Směrovat novou adresu mujweb2.cz na původní adresu mujweb.cz (ale přitom v url bude ta nová adresa) a v presenteru mít (třeba v startup metodě) test $_SERVER[‚HTTP_HOST‘] == ‚mujweb2.cz‘ → $this->setView(‚mujweb2‘);
Toto jsem vyzkoušel na localu a funguje vše co potřebuji (metoda renderMujweb2, předání prom. do template i nastavení {layout …latte}).
Ale nefunguje samozřejmě actionMujweb2 a taky nevím, zda je toto čisté řešení.A samozřejmě asi nepůjde používat na starém webu odkazy na nový web pomocí {link :…} ale bude se muset dávat nová adresa – i když to už by mi tak nevadilo…
Existuje jiný-lepší postup jak zprovoznit novou adresu která bude používat základy starého webu, ale jiný layout atd? Díky
- Felix
- Nette Core | 1247
Podle me by jsi mel udelat nejakou sluzbu, treba
LayoutManager
/LayoutService
. Ktera bude akceptovat Nette\Http\Request
a bude ti vracet na getApplication
nebo getLayout
.
O jakou aplikaci jde. A uz je na tobe, jestli budes mit stejne presentery,
pripadne stejne akce. Nebo 1 presenter a 2 akce (actionOne, actionTwo).
Urcite by melo byt tohle cistejsi nez to resit na urovni presenteru ve startup metode.
Pokud potrebujes zmenit action podle sablony, tak muzes vyuzit
$presenter->changeAction('mujweb2')
.