Files
AtomicOld/simpla/design/html/pagination.tpl

54 lines
2.7 KiB
Smarty
Raw Normal View History

2026-02-14 19:50:25 +03:00
{if $pages_count>1}
{* Скрипт для листания через ctrl → *}
{* Ссылки на соседние страницы должны иметь id PrevLink и NextLink *}
<script type="text/javascript" src="design/js/ctrlnavigate.js"></script>
<!-- Листалка страниц -->
<div id="pagination">
{* Количество выводимых ссылок на страницы *}
{$visible_pages = 11}
{* По умолчанию начинаем вывод со страницы 1 *}
{$page_from = 1}
{* Если выбранная пользователем страница дальше середины "окна" - начинаем вывод уже не с первой *}
{if $current_page > floor($visible_pages/2)}
{$page_from = max(1, $current_page-floor($visible_pages/2)-1)}
{/if}
{* Если выбранная пользователем страница близка к концу навигации - начинаем с "конца-окно" *}
{if $current_page > $pages_count-ceil($visible_pages/2)}
{$page_from = max(1, $pages_count-$visible_pages-1)}
{/if}
{* До какой страницы выводить - выводим всё окно, но не более ощего количества страниц *}
{$page_to = min($page_from+$visible_pages, $pages_count-1)}
{* Ссылка на 1 страницу отображается всегда *}
<a class="{if $current_page==1}selected{else}droppable{/if}" href="{url page=1}">1</a>
{* Выводим страницы нашего "окна" *}
{section name=pages loop=$page_to start=$page_from}
{* Номер текущей выводимой страницы *}
{$p = $smarty.section.pages.index+1}
{* Для крайних страниц "окна" выводим троеточие, если окно не возле границы навигации *}
{if ($p == $page_from+1 && $p!=2) || ($p == $page_to && $p != $pages_count-1)}
<a class="{if $p==$current_page}selected{/if}" href="{url page=$p}">...</a>
{else}
<a class="{if $p==$current_page}selected{else}droppable{/if}" href="{url page=$p}">{$p}</a>
{/if}
{/section}
{* Ссылка на последнююю страницу отображается всегда *}
<a class="{if $current_page==$pages_count}selected{else}droppable{/if}" href="{url page=$pages_count}">{$pages_count}</a>
<a href="{url page=all}">все сразу</a>
{if $current_page>1}<a id="PrevLink" href="{url page=$current_page-1}">←назад</a>{/if}
{if $current_page<$pages_count}<a id="NextLink" href="{url page=$current_page+1}">вперед→</a>{/if}
</div>
<!-- Листалка страниц (The End) -->
{/if}