Routovanie URL zo starého webu

sucho
Člen | 57
+
0
-

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
+
0
-

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
+
0
-

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?