====== Тег {{paginate}} ======
===== Описание =====
Тег %%{{paginate}}%% используется для лимитирования итераторов, поддерживающих интерфейс lmbCollectionInterface и для передачи данных о количестве элементов в итераторе в pager-ы прямо в MACRO-шаблоне. Тег %%{{paginate}}%% ставится **до** pager-а и до тега %%{{list}}%%, который занимается выводом соответствующего итератора.
Тег %%{{paginate}}%%, по сути, может работать в двух режимах или как бы выволнять 2 задачи:
* может просто лимитировать итератор на основе значений своих атрибутов **limit** и **offset**,
* может связывать итератор с pager-ом, при этом значение атрибута **limit** будет работать аналогично атрибуту **items** [[pager_tag|тега {{pager}}]].
===== Синтаксис =====
{{paginate iterator='$iterator_var' [pager='pager_id'] [limit='limit'] [offset='offset']/}}
===== Область применения =====
В любом месте MACRO шаблона.
===== Атрибуты =====
* **iterator** - название переменной, которая содержит итератор, поддерживающий интерфейс lmbCollectionInterface (пакет CORE).
* **pager** - идентификатор пейджера
* **limit** - количество элементов, которое необходимо вывести. Если **limit** не указан, но указан **pager**, то значение **limit** принимается равным значению атрибута **items** соответсвующего тега {{pager}}
* **offset** - отступ от начала итератора, то есть количество элементов, которые нужно пропустить, прежде чем начать вывод. При использовании атрибута **pager** значение **offset** тег получает именно из pager-а автоматически.
===== Содержимое =====
Нет.
===== Пример использования =====
==== Связь итератора с pager-ом ====
{{paginate iterator='$#modules' pager='my_pager'}}
{{pager id="my_pager" items="5"}}
{{pager:list}}
{{pager:current}}{$number}{{/pager:current}}
{{pager:number}}{$number}{{/pager:number}}
{{pager:separator}}-{{/pager:separator}}
{{/pager:list}}
{{/pager}}
{{list using='$#modules'}}
{{list:item}}
{$item.title} |
{$item.desription} |
{{/list:item}}
{{/list}}
==== Простое ограничение размера итератора ====
Лучшие фото рубрики
$best_photos = ... ?>
{{paginate iterator="$best_photos" limit="4" /}}
{{list using="$best_photos"}}
{{list:item}}
- {{apply template="photo_tpl" item="$item"/}}
{{/list:item}}
{{/list}}