getPage

Что такое getPage?

 Это сниппет MODx Revolution, который позволяет вам добавлять пагинацию к элементам сайта, которые могут быть разбиты постранично. Согласно официальной документации getPage - это общий сниппет для представления, навигации и возможного кеширования, многостраничных просмотров любых Елементов, которые принимают ограничительные и офсетные параметры для ограничения набора данных и устанавливает плейсхолдер, который getPage может использовать для получения общего количества элементов  выводимых на странице.

Требования

  • MODx Revolution 2.0.0-beta5 или новее
  • PHP5 или новее

История

getPage впервые был разработан Jason Coward и выпущен в 19 марта 2010.

Загрузка

Вы можете загрузить расширение из менеджера пакетов стандартным способом, либо с сайта официального репозитория:

Особенности

  • getPage – это сниппет обёртка. Он не может сам по себе делать что-либо. Ему нужен другой сниппет для вывода чего-то,  что затем он разбивает на страницы. Другими словами, вам нужно иметь еще один сниппет, который выводит содержимое, которое вы хотите разбить на страницы и затем getPage делает пагинацию. Часто используемый снипет – это getResources.
  • Следуя вышеизложеному, обратите внимание, что ваш сниппет должен включать параметры вашего обёрнутого сниппета (getResources) и параметры  самого getPage.
  • Не делайте вызов getPage кешируемым. Он должен быть некешируемым, даже если вы кешируете все остальные ресурсы.

Использование

снипет getPage может быть вызван следующим тегом:

[[!getPage? &elementClass=`modSnippet` &element=`getResources`]]

Доступные свойста

 Необходимые свойства

Название Описание Значение по умолчанию
 Элемент  Название элемента, для которого требуется применить пагинацию  

Задаваемые свойства

Если вы ленитесь заглядывать в официальную документацию или не знаете английского, то специально для вас: Набор свойств - это собрание свойств Элемента. Они могут быть установлены для одного или нескольких элементов через страницу редактирования Элемента. Это наборы свойств, могут быть однажды установлены, и затем вызваны в синтаксисе вызове Элемента следующим образом:

Название Описание Значение по умолчанию
limit  Количество результатов на одной странице. Может быть переопределено в $_REQUEST. 10
offset   0
page  Страница для отображения. Исходное значение определено в переменной $_REQUEST. Точно определено в pageVarKey.  calculated
 pageCount  Общее количество страниц.  calculated
 pageVarKey  Ключ свойства, указывающего на текущую страницу в $_REQUEST и наборы переменных на странице.  page
 totalVar  Ключ плейсхолдера, должен содержать общее количество записей  total
 total  Общее количество записай пролистываемых страниц (см. totalVar)  calculated
firstItem  Индекс элемента, отображаемого первым на текущей странице. calculated
 lastItem  Индекс элемента, отображаемого последним на текущей странице.  calculated
pageOneLimit  Дополнительное ограничение количества результатов на первой странице, которое может отличаться на следующих страницах.  

 

 Название  Описание  Значение по умолчанию
pageLimit  Максимальное количество ссылок на страницы для отображения в панели навигации.  5
 pageNavVar  Ключ пейсхолдера для установки элемента постраничной навигации.  page.nav

Свойства шаблона навигации

 Название  Описание  Значение по умолчанию
pageNavOuterTpl  tpl управлящий расположением различных элементов навигации страницы.  
 pageNavTpl  tpl предоставляющий единый орган управления(чанк), навигации по страницам.  <li><a href=""></a></li>
 pageActiveTpl  tpl предоставляющий управление навигацией на текущей(активной) странице.  <li><a class="active" href=""></a></li>
 pageFirstTpl  tpl предоставляющий первый элемент навигации.  
<li class="control"><a href="">First</a></li>
 pageLastTpl  tpl предоставляющий последний элемент навигации.  
<li class="control"><a href="">Last</a></li>
 pagePrevTpl  tpl предоставляющий предыдущий элемент навигации.  
<li class="control"><a href=""><<</a></li>
 pageNextTpl  tpl предоставляющий следующий элемент навигации.  
<li class="control"><a href="">>></a></li>

Свойства cache

 Название  Описание Значение по умолчанию
 cache  Указывает, что содержание каждого запроса страницы следует кэшировать, по уникальному URI запроса (а не только pageVarKey) Значения насктроек cache_resource или ложь (false).
 cache_key  Ключ, идентифицирующий именованный экземпляр xPDOCache который будет использоваться для кэширования содержимого страницы. Значения настроек cache_resource_key.
 cache_handler  Определяет xPDOCache производных класса, используемого для экземпляра. Значения настроек cache_resource_handler или xPDOFileCache.
 cache_expires Указывает в секундах время хранения в кеше каждого элемента.  Запись 0 означает что значение будет храниться до очистки кэша опционально.  Значения настроек expires для указанного cache_key или 0.

Другие свойства

 Название  Описание  Значение по умолчанию
 elementClass  Произвольное имя класса которое вы хотите задать для елемента getPage. На пример modChunk или по умолчанию modSnippet  modSnippet
 namespace    
 toPlaceholder    

 Примеры

Список дочерних ресурсов текущего ресурса, для вывода используется чанк 'myRowTpl':

[[!getPage? &element=`getResources` &parents=`[[*id]]` &tpl=`myRowTpl`]]
<div class="pageNav">[[!+page.nav]]</div>
 
Список всех потомков ресурса в id=5, за исключением ресурса с id=10, для вывода используется чанк 'myRowTpl':
[[!getPage? &element=`getResources` &parents=`5` &resources=`-10` &tpl=`myRowTpl`]]
<div class="pageNav">[[!+page.nav]]</div>
Назад Вперёд