Files
AtomicOld/simpla/design/html/pagination.tpl
2026-02-14 19:50:25 +03:00

54 lines
2.7 KiB
Smarty
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{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}