Нашел файл, при замене которого происходит нарушение пагинации. Этот файл: components\com_content\views\section\view.html.php
Сравнил коды файла до и после замены... Нашел такие отличия:
Файл с рабочей пагинацией версия j1.5.7 строка 107
$pagination = new JPagination($total, $limitstart, $limit - $links);
Файл патча j.1.5.7-j.1.5.23 с нарушением пагинации строка 107
$pagination = new JPagination($total, $limitstart, $limit );
И еще.... Есть отличия в вот этих блоках...
Файл с рабочей пагинацией версия j1.5.7:
// Build the link and text of the readmore button
if (($item->params->get('show_readmore') && @ $item->readmore) || $item->params->get('link_titles'))
{
// checks if the item is a public or registered/special item
if ($item->access <= $user->get('aid', 0))
{
//$item->readmore_link = JRoute::_("index.php?view=article&id=".$item->slug);
$item->readmore_link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug, $item->sectionid));
$item->readmore_register = false;
}
else
{
$item->readmore_link = JRoute::_("index.php?option=com_user&view=login");
$item->readmore_register = true;
}
}
$item->event = new stdClass();
$results = $dispatcher->trigger('onAfterDisplayTitle', array (& $item, & $item->params,0));
$item->event->afterDisplayTitle = trim(implode("\n", $results));
$results = $dispatcher->trigger('onBeforeDisplayContent', array (& $item, & $item->params, 0));
$item->event->beforeDisplayContent = trim(implode("\n", $results));
$results = $dispatcher->trigger('onAfterDisplayContent', array (& $item, & $item->params, 0));
$item->event->afterDisplayContent = trim(implode("\n", $results));
return $item;
}
}
Файл патча j.1.5.7-j.1.5.23 с нарушением пагинации
// Build the link and text of the readmore button
if (($item->params->get('show_readmore') && @ $item->readmore) || $item->params->get('link_titles'))
{
// checks if the item is a public or registered/special item
if ($item->access <= $user->get('aid', 0))
{
//$item->readmore_link = JRoute::_("index.php?view=article&id=".$item->slug);
$item->readmore_link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug, $item->sectionid));
$item->readmore_register = false;
}
else
{
$item->readmore_link = JRoute::_("index.php?option=com_user&view=login");
$returnURL = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug, $item->sectionid),false);
$fullURL = new JURI($item->readmore_link);
$fullURL->setVar('return', base64_encode($returnURL));
$item->readmore_link = $fullURL->toString();
$item->readmore_register = true;
}
}
$item->event = new stdClass();
$results = $dispatcher->trigger('onAfterDisplayTitle', array (& $item, & $item->params,0));
$item->event->afterDisplayTitle = trim(implode("\n", $results));
$results = $dispatcher->trigger('onBeforeDisplayContent', array (& $item, & $item->params, 0));
$item->event->beforeDisplayContent = trim(implode("\n", $results));
$results = $dispatcher->trigger('onAfterDisplayContent', array (& $item, & $item->params, 0));
$item->event->afterDisplayContent = trim(implode("\n", $results));
return $item;
}
}
Во втором куске кода присутствуют вот эти строки
$returnURL = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug, $item->sectionid),false);
$fullURL = new JURI($item->readmore_link);
$fullURL->setVar('return', base64_encode($returnURL));
$item->readmore_link = $fullURL->toString();