Баг репорт: Viewer_MakePaging
Описание проблемы:
Что бы освежить, вот это формирует постраничность:
aGetParamsList — в этом проблема.
Передаем
если в адресной строке написано
проблема появляется, если в адресной строке
Вываливается ошибка
Warning: urlencode() expects parameter 1 to be string, array given in \www\site.com\engine\modules\viewer\Viewer.class.php on line 1195
Причина:
Решение: Заменить весь этот кусок на 1 строчку:
а еще лучше-
Что бы освежить, вот это формирует постраничность:
MakePaging($iCount,$iCurrentPage,$iCountPerPage,$iCountPageLine,$sBaseUrl,$aGetParamsList=array())
aGetParamsList — в этом проблема.
Передаем
aGetParamsList = $_GET;
если в адресной строке написано
?category=tv,apple
то все работает отлично.проблема появляется, если в адресной строке
?category[]=tv&category[]=apple
Вываливается ошибка
Warning: urlencode() expects parameter 1 to be string, array given in \www\site.com\engine\modules\viewer\Viewer.class.php on line 1195
Причина:
$sGetParams='';
foreach ($aGetParamsList as $sName => $sValue) {
$sGetParams.=$sName.'='.urlencode($sValue).'&';
}
if ($sGetParams!='') {
$sGetParams='?'.trim($sGetParams,'&');
}
Решение: Заменить весь этот кусок на 1 строчку:
$sGetParams='?'.http_build_query($aGetParamsList);
а еще лучше-
$sGetParams='';
if (isset($aGetParamsList)){
sGetParams=urldecode(is_array($aGetParamsList)? '?'.http_build_query($aGetParamsList):'?'.$aGetParamsList);
}
1 комментарий