routování – špatná změna url
- Paimutan
- Člen | 33
Hojte,
potřebuju vyvolat stejný presenter:action přes dvě různé url /periodika a /periodici
mám v routách uvedeno následující:
$router[] = new Route('/periodika', 'Magazine:list');
$router[] = new Route('/periodici', 'Magazine:list');
Pokud přistoupím na /periodika, je to v pořádku, url
zůstane /periodika
Pokud přistoupím na /periodici, tak to url změní na
/periodika, což je nežádoucí. Potřebuju, aby url zůstalo /periodici.
Jak toho dosáhnout?
- Paimutan
- Člen | 33
To periodika versus periodici je starý případ, teď už to řeším na jiných url, ale princip sedí.
Je to ale asi chyba (mého) návrhu, ty stránky se liší v detailech, proto jsem nechtěl dělat dvě různé metody na obsluhu.
Ale asi to bude nakonec lepší řešení (udělat dvě různé metody, do kterých povedou ty dvě různé url, ale nakonec se zavolá ta jedna obslužná metoda).
- Michal Vyšinský
- Člen | 608
Co něco takového?
$router[] = new Route('/periodika', array(
'presenter' => 'Magazine',
'action' => 'list',
'foo' => 'foobar'
));
$router[] = new Route('/periodici', array(
'presenter' => 'Magazine',
'action' => 'list',
'foo' => 'barfoo'
));
Díky parametru ‚foo‘ nebude brát nette ty dvě routy jako stejné akce, takže nebude kanonikalizovat