Расширенная пагинация

Расширенная пагинация страниц, которая выводит первые или последние номера страниц в зависимости от текущего расположения посетителя на последних или первых страницах соответственно. Выложен as is для одного компонента с заданным URL, требует доработки для повторного использования (использование Hidden_URL вместо вшитых ссылок + номера компонента и количества объектов на странице вместо вшитых в код значений)

<div class='pagination'>
<? if ($prevLink)
   echo "<a href='".$prevLink."' class='previous_page'>← Назад</a>";
 else
   echo "<span class='disabled previous_page'>← Назад</span>";
 ?>

 <? $pages = ceil($totRows/$recNum); 
    $page = $curPos/$recNum;
    if ($page > $recNum) { ?>
      <a href="/news/">1</a>
      <a href="/news/?cur_cc=521&curPos=<?= $recNum ?>">2</a>
    <span class="gap">…</span> 
 <? } ?>
 <?= nc_browse_messages($cc_env, 10) ?>
 <? if ($pages - 7 > $page) { ?>
     <span class="gap">…</span>
     <a href="/news/?cur_cc=521&curPos=<?= ($pages-2)*$recNum ?>"><?= $pages-1; ?></a>
     <a href="/news/?cur_cc=521&curPos=<?= ($pages-1)*$recNum ?>"><?= $pages; ?></a>
 <? } ?>

 <? if ($nextLink)
   echo "<a href='".$nextLink."' class='next_page'>Вперед →</a>";
 else
   echo "<span class='disabled next_page'>Вперед →</span>";
 ?>
</div>

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *