Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

Сниппет getPage MODX Revolution для создания постраничной навигации

Сайдбар

Что такое getPage?

Основное назначение сниппета – презентация, навигация, опциональное кэширование, многостраничный просмотр из различных Элементов, что подразумевает ограничении и изменение свойств для ограничения набора данных, размещение плейсхолдера, с помощью которого getPage возвращать общее число элементов страницы.

Системные требования сниппета getPage

  • MODx Revolution 2.0.0-beta5 или более новая версия
  • PHP5 или более новая версия

История разработки

getPage написан Jason Coward (opengeek) и опубликован 19 Марта 2010

Этот сниппет ничего не выполняет самостоятельно, и зависит от других сниппетов для возращения выходных данных для определенной страницы (или массива данных в виде определенного набора). К примеру, такие сниппеты как getResources, getFeed, и Archivist могут быть объединены с помощью getPage.

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

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

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

Не кэшируйте

getPage не должен вызваться некэшируемым в кэшируемом ресурсе. Лучше всего вызывать getPage с некэшируемым маркером “!”, а кеширование обеспечить с помощью внешних ресурсов. Это же правило применяется для представления плейсхолдера с помощью свойства pageNavVar (page.nav по умолчанию), эти выходные данные некэшируются в кэшируемом контенте страницы.



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

Необходимо задать свойства элемента, а также все дополнительные свойства тех элементов, которые вызываются с помощью getPage.

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

Обязательные свойства

Имя

Описание

Значение по умолчанию

element

Имя modElement для обработки выходных данных.


Свойства страницы

Имя

Описание

Значение “ по умолчанию”

Доступно в версии

limit

Число результатов на странице, может быть отменено с помощью $_REQUEST. В версии 1.2.2+, $_GET данные обрабатываются до $_REQUEST

10


offset

Отступ, или стартовое положение записи в пределах массива данных для обработки результатов текущей страницы, следует учитывать результаты, ограничения и параметры VarKey.

0


page

Отображаемая страница, определяется значением _REQUEST , переменная задается VarKey.

Вычисляется


pageCount

Общее число страниц

Вычисляется


pageVarKey

Маркер свойств, отображает текущую страницу согласно $_REQUEST, и устанавливает значение страницы. В версии 1.2.2+, $_GET данные обрабатываются до $_REQUEST

page


totalVar

Маркер плэйсхолдера, содержащего общее число записей в рамках массива, разделяемого на страницы

total


total

Общее число записей, разбиваемых на страницы (см. totalVar )

Вычисляется


firstItem

1-based индекс первого отображаемого элемента на текущей странице.

Вычисляется


lastItem

1-based индекс последнего отображаемого элемента на текущей странице.

Вычисляется


pageOneLimit

Дополнительный лимит количества результатов для первой страницы, может отличаться от основного лимита.


1.2.2-pl

Навигационные свойства таблицы

Имя

Описание

Значение “по умолчанию

pageLimit

Максимальное число ссылок страницы, отображаемое при обработке меню навигации страницы.

5

pageNavVar

Маркер плейсхолдера, устанавливающегося вместе с меню навигации.

page.nav

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


Вы можете не изменять свойства данного tpl непосредственно из сниппета, т.к. последовательность, в которой производится парсинг тэгов, определена в Revolution.

Если вы хотите изменить данные значения по умолчанию, используйте следующие действия:

  • Перейдите на закладку Elements, откройте структуру сниппетов и найдите getPage, откройте его.
  • Вы увидите закладку "Element Properties". Откройте ее.
  • Создайте новый набор свойств, используя кнопку Add property set, в открывшемся окне отметьте чекбокс "Create new property set".
  • Назовите и сохраните набор свойств.
  • Теперь вы можете изменить значения свойств, которые не будут удалены при обновлении ПО.
  • Привяжите ваш собственный набор свойств к сниппету:
[ [!getPage@PropertySetName? &element=`getResources` &parents=`3` ...]]

Имя

Описание

Значение по умолчанию

Доступен в версии.

pageNavOuterTpl

tpl с контентом для контроля слоя с элементами навигации.

[ [+first]][ [+prev]][ [+pages]][ [+next]][ [+last]]

1.2.0-pl

pageNavTpl

tpl с контентом, представляющим собой одну страницу элементов навигации.

<li[[+classes]]><a[[+classes]][ [+title]] href="[ [+href]]">[ [+pageNo]]</a></li>

pageActiveTpl

tpl с контентом,

представляющим собой текущую страницу элементов навигации.

<li[ [+activeClasses]]><a[ [+activeClasses:default=` class="active"`]][[+title]] href="[[+href]]">[[+pageNo]]</a></li>

pageFirstTpl

tpl с контентом,

представляющим собой первую страницу элементов навигации.

<li class="control"><a[ [+classes]][ [+title]] href="[ [+href]]">First</a></li>

pageLastTpl

tpl с контентом,

представляющим собой последнюю страницу элементов навигации.

<li class="control"><a[ [+classes]][ [+title]] href="[ [+href]]">Last</a></li>

pagePrevTpl

tpl с контентом,

представляющим собой предыдущую страницу элементов навигации..

<li class="control"><a[ [+classes]][ [+title]] href="[ [+href]]"><<</a></li>

pageNextTpl

tpl с контентом,

представляющим собой следующую страницу элементов навигации.

<li class="control"><a[ [+classes]][ [+title]] href="[ [+href]]">>></a></li>






Свойства кэширования

Имя

Описание

Значение “по умолчанию

cache

Отображается уникальный URI, если контент каждой страницы кэшируется (это не тот же параметр что и pageVarKey).

Значение настроек кэширования или false

cache_resource_key

Маркер, идентифицирующий xPDOCache запрос, используемый для кэширования контента страницы.

Значение настроек cache_resource_key setting, или default

cache_resource_handler

Маркер, идентифицирующий xPDOCache производный класс, используемый для запроса.

Значение настроек cache_resource_handler setting, или xPDOFileCache

cache_expires

Отображает время хранения каждого элемента в КЭШе ,в секундах.

0 означает хранение в КЭШе до удаления вручную, если нет дополнительных настроек, данные идентифицируются по предустанвленному значению cache_resource_key .

Значение настроек cache_expires setting, или 0

Дополнительные свойства

Имя

Описание

Значение “по умолчанию

elementClass

Вторичный classname modElement, который нужно вызвать с помощью getPage и использовать как выходные данные, например modChunk или по умолчанию modSnippet

modSnippet

namespace

Исполняемый элемент namespace, присоединяемый к плейсхолдеру для выполнения специфических запросов сниппетом getPage.


toPlaceholder

Обозначает элемент, не посылаемый за пределы getPage, размещающий плейсхолдер, содержащий контент, необходимый getPage в данный момент. Это позволяет getPage кэшировать плейсхолдер с выходными данными словно это присланный элемент, и использовать его из кэша


Примеры

Страница со списком дочерних Resourceы текущих Resources, используя чанк вызываемый 'myRowTpl'.

 [[!getPage? &element=`getResources` &parents=`[[*id]]` &tpl=`myRowTpl`]]
 
<div class="pageNav">
[[!+page.nav]]
</div>

Страница с ресурсами до ресурса с ID '5', кроме ресурса 10, созданная с использованием вызова 'myRowTpl':

[[!getPage? &element=`getResources` &parents=`5` &resources=`-10` &tpl=`myRowTpl`]]
<div class="pageNav">
[[!+page.nav]]
</div>