Делаем пагинацию в MODx с помощью getPage

Пагинация (разбиение на страницы) в MODx с помощью getPage

Часто бывает, когда на странице нужно добавить много материалов (вывести превью статей блога или описание товаров каталога), но не хочется создавать огромное полотно. Тогда возникает необходимость разбиения материала на страницы

Если для вывода материалов вы пользуетесь сниппетами Ditto или getResources (дальше я буду упоминать только getResources), то хочу вас обрадовать:

getResources входит в сниппет getPage, поэтому переделывать ничего не придется.

Итак, приступим:

- Открываем нужный нам шаблон, где мы выводим материал и меняем вызов сниппета getResources на:

[[!getPage?
    &elementClass=`modSnippet`
    &element=`getResources` /* по сути мы еще работаем с getRecources */
    &parents=`4,5,6` /* выводим все дочерние материалы из родителей с id=4,5,6 */
    &limit=`5`  /* ограничиваем количество выводимых страниц */
    &tpl=`someTpl` /*  указываем шаблон для вывода превью (краткой аннотации) */
    &showHidden=`0` /* показывать ли страницы, у которых отмечено "не отображать в меню" */
    &hideContainers=`1` /* не показывать материал, отмеченный как контейнер (is_folder) */
    &includeTVs=`1` /* Эти опции нужны, если вы используете TV-переменные, для вывода в someTpl */
    &includeContent=`1`
    &sortby=`menuindex` /* Сортируем материал по положению в меню */
    &includeTVs=`1`
    &processTVs=`1`
]]

Далее после этого добавляем саму пагинацию (я немного кастомизировал):

[[!+page.nav:notempty=`
    [[!+page.nav]]

 

`]]

Всё! Пагинация готова. Теперь настроим ее внешний вид, задав классы CSS.

Переходим в админке в Элементы и открываем сниппет getPage. На картинке ниже прекрасно видно как мы можем задать стили и классы для каждой кнопки (№ страницы, вперед, назад, и т.д.)

Вот и всё, пользуйтесь на здоровье!

Поделиться с друзьями

Френдинг

 

Comments: 2

Leave a reply »

 
 
 

Спасибо ! Все понятно

 

а теперь найди косяк у себя……..

 

Leave a Reply

 
(will not be published)
 
 
Comment