Skip to content

Instantly share code, notes, and snippets.

@pafnuty
Created August 12, 2016 19:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pafnuty/4f0da057a6114aa4213142ea0dcb9626 to your computer and use it in GitHub Desktop.
Save pafnuty/4f0da057a6114aa4213142ea0dcb9626 to your computer and use it in GitHub Desktop.
Строим многостраничный нумерованный список (топ новостей)
{*
Пример демонстрирует способ, которым можно реализовать многостраничные нумерованные списки.
Бывает полезно при построении топов новостей.
*}
<div id="{$block_id}">
{$pages}
{*
Вычисляем коэффициент, который необходимо прибавить для каждой страницы постраничной навигации,
если мы находимся на второй или следующей страницах.
Для этого будем использовать служебный тег $cfg http://bp.pafnuty.name/documentation/#cfg
- pageNum содержит номер текущей страницы
- limit содержит количество новостей, выводимых на одной странице
*}
{set $delta = ($cfg.pageNum > 1) ? $cfg.pageNum * $cfg.limit - $cfg.limit : 0}
{*
Пробегаем по массиву с новостями
для вывода порядкового номера новости используем index=$index
https://github.com/fenom-template/fenom/blob/master/docs/ru/tags/foreach.md
*}
{foreach $list as $el index = $index}
{*
Определяем переменную, которая будет выводить позицию новости.
Т.к. $index всегда начинается с нуля - прибавляем единичку.
*}
{set $i = $index + 1 + $delta}
<h2>
<small>{$i} — </small>
{$el.title}
</h2>
{/foreach}
</div> <!-- #{$block_id} -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment