Выводит по такому типу: << 1, 2, 3, ...,50, 51, 52, ..., 98, 99, 100 >> Файл includes/pageNavigation.php Функцию function writePagesLinks полностью заменить на эту Код (PHP): function writePagesLinks( $link ) { $txt = ''; $displayed_pages = 3; //можно менять $total_pages = $this->limit ? ceil( $this->total / $this->limit ) : 0; $this_page = $this->limit ? ceil( ($this->limitstart+1) / $this->limit ) : 1; $start_loop = $this_page - floor( $displayed_pages/2); $stop_loop = $this_page + floor( $displayed_pages/2); $link .= '&limit='. $this->limit; if (!defined( '_PN_LT' ) || !defined( '_PN_RT' ) ) { DEFINE('_PN_LT','<'); DEFINE('_PN_RT','>'); } $pnSpace = ''; if (_PN_LT || _PN_RT) $pnSpace = " "; $array_pages=array(); for ($i=1;$i <= $displayed_pages;$i++) $array_pages[]=$i; for ($i=$total_pages;$i >= $total_pages-$displayed_pages+1;$i--) $array_pages[]=$i; for ($i=$start_loop; $i <= $stop_loop; $i++) { $array_pages[]=$i; } $array_pages = array_unique($array_pages); sort($array_pages); if ($this_page > 1) { $page = ($this_page - 2) * $this->limit; $txt .= '<a href="'. sefRelToAbs( "$link&limitstart=$page" ) .'" class="pagenav" title="'. _PN_PREVIOUS .'">'. _PN_LT . $pnSpace . _PN_PREVIOUS .'</a> '; } else { $txt .= '<span class="pagenav">'. _PN_LT . $pnSpace . _PN_PREVIOUS .'</span> '; } $txt2=''; $last_i=0; foreach ($array_pages as $i) { if ($i>=1&&$i<=$total_pages) { if ($last_i+1!=$i)$txt2.=", ..."; $page = ($i - 1) * $this->limit; $txt2.=","; if ($i == $this_page) { $txt2 .= ' <span class="pagenav">'. $i .'</span>'; } else { $txt2 .= ' <a href="'. sefRelToAbs( $link .'&limitstart='. $page ) .'" class="pagenav"><strong>'. $i .'</strong></a>'; } $last_i=$i; } } $txt.= substr($txt2, 1); if ($this_page < $total_pages) { $page = $this_page * $this->limit; $end_page = ($total_pages-1) * $this->limit; $txt .= ' <a href="'. sefRelToAbs( $link .'&limitstart='. $page ) .' " class="pagenav" title="'. _PN_NEXT .'">'. _PN_NEXT . $pnSpace . _PN_RT .'</a>'; } else { $txt .= ' <span class="pagenav">'. _PN_NEXT . $pnSpace . _PN_RT .'</span>'; } return $txt; }
Спасибо! А случайно не подскажешь как убрать < [Предыдущая][Следующая] >, если в разделе только одна страница?! Где-то видел... только уже не помню где... Обыскался на форуме...