pdoPage и массивы параметров в $_GET
Пишу фильтрацию для каталога, и возникла следующая проблема:
— при передаче массивов GET-параметров, ссылки, формируемые pdoPage, не дополняются условиями выборки.
Т.е. при URL
— при передаче массивов GET-параметров, ссылки, формируемые pdoPage, не дополняются условиями выборки.
Т.е. при URL
site.ru/catalog/?filter_price[]=500&filter_price[]=10000
ссылки, сгенерированные pdoPage, выглядят как site/ru/catalog/?page=2&
Хотя по логике должны выглядеть как site/ru/catalog/?page=2&filter_price[]=500&filter_price[]=10000
Может быть, есть какое-то решение данной проблемы, кроме правки сниппета pdoPage, или придётся переписывать фильтрацию без использования массивов GET-параметров? Комментарии: 2
Временно отредактировал pdopage.class.php:
Строка 222, было:
Строка 222, было:
foreach ($_GET as $key => $val) {
$request[$key] = rawurldecode($val);
}
Стало:foreach ($_GET as $key => $val) {
if (count($_GET[$key])<2){
$request[$key] = rawurldecode($val);
} else {
foreach($_GET[$key] as $arr_key => $arr_val){
$request[$key][$arr_key] = rawurldecode($arr_val);
}
}
}
Чтобы избежать лишних дубликатов, надо немного подредактировать вышеуказанный код:
$request[$key][] = rawurldecode($arr_val);
Иначе у элементов массивов указывается индекс:site/ru/catalog/?page=2&filter_price[0]=500&filter_price[1]=10000
©Тихо сам с собою я веду беседу
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.