У меня тоже возникла проблема с ЧПУ. Т.е. выдавало ссылку в виде sitename.com/com_content=& и т.д. в таком роде, хотя нужно было выдавать просто sitename.com/itemname?start=2
Решил таким образом. Нашел где формируется ссылка. Это функция protected function _createNavigation(&$row, $page, $n).
Дальше в функции каментим строки
//$next = '<a href="'. $link_next .'">' . JText::_('JNEXT'). $pnSpace . JText::_('JGLOBAL_GT'). JText::_('JGLOBAL_GT').'</a>';
перед ней код:
$str_uri = $_SERVER['REQUEST_URI']; //получить текущий урл страницы - получаем sitename.com/itemname?start=1
$next = '<a href="'.mb_substr($str_uri, 0, strlen($str)-1).$page_next.'">' . JText::_('JNEXT'). $pnSpace . JText::_('JGLOBAL_GT'). JText::_('JGLOBAL_GT').'</a>';
// тут от текущего урла отсекаем последний символ (кому нужно будет - делайте обработки, убрать например все символы после знака "=" если будет больше 10 страниц то нужно отсекать 2 символа, т.е. номер текущей страницы) и добавляем переменную $page_next
upd. Заметил у себя ошибку с первой страницей материала. На первой странице нет условия ?start=1 (исправляю). Думаю разобраться можна:
if ($page_next > 1) {
$str_uri = $_SERVER['REQUEST_URI'];
$next = '<a href="'.mb_substr($str_uri, 0, strlen($str)-1).$page_next.'">' . JText::_('JNEXT'). $pnSpace . JText::_('JGLOBAL_GT'). JText::_('JGLOBAL_GT').'</a>';
} else {
$str_uri = $_SERVER['REQUEST_URI'];
$next = '<a href="'.$str_uri.'?start='.$page_next.'">' . JText::_('JNEXT'). $pnSpace . JText::_('JGLOBAL_GT'). JText::_('JGLOBAL_GT').'</a>';
}
Идентично с предыдущей страницей
$str_uri = $_SERVER['REQUEST_URI'];
$prev = '<a href="'.mb_substr($str_uri, 0, strlen($str)-1).$page_prev.'">'. JText::_('JGLOBAL_LT'). JText::_('JGLOBAL_LT'). $pnSpace . JText::_('JPREV').'</a>';
//$prev = '<a href="'. $link_prev .'">'. JText::_('JGLOBAL_LT'). JText::_('JGLOBAL_LT'). $pnSpace . JText::_('JPREV').'</a>';
Вобщем с материалами джумловскими не тестил. Работает нормально с К2. Конечно же нужно добавить и вышеупомянутый хак.
Извините за немного кривой код. Но вродь работает. Поправляйте, что не так.