Routovanie URL zo starého webu
- sucho
- Člen | 57
Zdravím klientovi prerábame starý eshop do nášho CMS
a potrebovali by sme zachovať URLčky
máme napr. kategóriu s filtrom
/category/baby-56-98?size[0]=16&size[1]=&brand[]=46&brand[]=3
potrebovali by sme dosiahnúť toto
/category/baby-56-98
problém je to že odrezať všetko za ? nemôžeme
lebo na stránke používame takisto filter len má iné názvy
Takže najlepšie by bolo reálne z URL odstrániť atribúty ktoré u seba reálne nemáme
- Phalanx
- Člen | 310
Chceš i přesměrovat staré parametry a nahradit je novými? Mělo by ti pomoct napsat si vlastní IN/OUT routu s případným přesměrováním.
<?php
$router[] = new Route('category/<identifier>', [
'action' => 'detail'
'presenter' => 'Category',
'id' => NULL,
NULL => [
Route::FILTER_IN => function(array $params) {
// píšu z hlavy - nejsem si jistý, jestli tohle smaže parametry, takže případně hoď redirect...
if(!empty($params['size'])) {
unset($params['size'];
}
},
Route::FILTER_OUT => function(array $params) {
// ...
return $params;
},
],
]);
?>
Editoval Phalanx (28. 11. 2018 18:19)
- sucho
- Člen | 57
Ahoj @Phalanx akurát som to včera skúšal
keď som vo FILTER_IN
použil unset
a do return poslal
$params
tak vo FILTER_OUT
aj tak bolo bez všetkých parametrov (aj bez
tých unsetov)
píšeš že použiť redirect ale v RouterFactory
nemám
Presenter prístupný
mám to redirectnúť cez hlavičky?