Проблема с пагинацией в Virtuemart 3.2.12 Joomla 3.8.8

Комментариев: 0

Если перейти на вторую страницу пагинации в категории товаров, а затем в адресной строке вбить адрес категории (ну или нажать назад в браузере), окажется, что Вы вновь попадаете на вторую страницу пагинации, а должны по идее попасть на первую. Получается что бы попасть на первую страницу, нужно принудительно нажать на неё, что бы передался параметр limit=0. До сегодняшнего дня, я этого не замечал, а сегодня сделал бесконечную загрузку товаров и тайное стало явью.

Проблема решается правкой ядра компонента, а именно: /administrator/components/com_virtuemart/models/product.php

//We were already in the category/manufacturer, so we take the value stored in the session
$limitStartString = 'com_virtuemart.' . $view . 'c' . $cateid .'m'.$manid. '.limitstart';
$limitStart = $app->getUserStateFromRequest ($limitStartString, 'limitstart', vRequest::getInt ('limitstart', 0,'GET'), 'int');

Заменяем на:

$uri = JUri::getInstance(); 
$url_string = $uri->toString();
$match_limit = strpos($url_string, 'start');
 
if ($match_limit) {
$limitStartString = 'com_virtuemart.' . $view . 'c' . $cateid .'m'.$manid. '.limitstart';
$limitStart = $app->getUserStateFromRequest ($limitStartString, 'limitstart', vRequest::getInt ('limitstart', 0,'GET'), 'int');
}
else {
$limitStart = vRequest::getInt ('limitstart', 0,'GET');
}

При обновление компонента изменения слетят. Возможно в более новых версиях проблема уже решена.

Отправить ответ

avatar
  Подписаться  
Уведомлять