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>
[[!getPage? &element=`getResources` &parents=`5` &resources=`-10` &tpl=`myRowTpl`]]
<div
class
=
"pageNav"
>[[!+page.nav]]</div>
Назад | Вперёд |