Categories: ModX

Как вывести записи modx через pdoTools

Давайте разберемся с вами как выводить записи на modx с помощью pdotools, а именно через pdoPage. По порядку создадим шаблон, выведем туда дополнительные поля и отобразим это все на странице.

Шаг 1: создаем чанк-шаблон

Добавляем новый чанк. Пишем туда необходимые данные, например, url-записи, title-записи modx, дополнительные поля, дата публикации и т.п. В следующем коде:
1) [[+uri]] — урл страницы документа
2) pagetitle — заголовок страницы
3) дальше идет tv.screen:ifnotempty — это вызов дополнительного поля, если он не пустой
4) tv.status, tv.start, tv.minimum — еще дополнительные поля
5) такой вид tv.start:strtotime:date=`%d.%m.%Y` позволяет вывести данные в нужном формате (например, 25.04.2018)
6) publishedon:date=`%d.%m.%Y` — дата публикации

<div class='center'><a href="[[+uri]]">[[+pagetitle]]</a><br>
[[+tv.screen:ifnotempty=`<a href="[[+uri]]"><img src="[[+tv.screen]]" style='max-width: 250px;'></a><br>`]]</div>

Статус: <strong>[[+tv.status]]</strong><br>
Старт: [[+tv.start:strtotime:date=`%d.%m.%Y`]]<br>
Дата публикации: [[+publishedon:date=`%d.%m.%Y`]] <br>
Минимум: [[+tv.minimum]]<br>
<a href="[[+uri]]">Подробнее...</a>
<hr>
Создание чанка для вывода шаблона pdopage modx

Шаг 2: выводим pdoPage на странице

На странице, где вы хотите выводить записи вызываем сниппет pdoPage. Я делаю его некешируемым, мой код выглядит вот так:

[[!pdoPage? &parents=`76` &includeTVs=`status, start, minimum,screen,tarrifs` &tpl=`shabindex` &limit=7 &tplPage=`@INLINE <span><a href="[[+href]]">[[+pageNo]]</a></span>` 
&tplPageWrapper=`@INLINE
<div class="pagination">[[+first]] [[+prev]] [[+pages]] [[+next]] [[+last]]</div>
` 
&tplPageActive=`@INLINE <span class="active"> <a href="[[+href]]">[[+pageNo]]</a> </span>` 
&tplPagePrev=`@INLINE <span class="control"><a href="[[+href]]">«</a></span>` 
&tplPageNext=`@INLINE <span class="control"><a href="[[+href]]">»</a></span>` 
&tplPageSkip=`@INLINE <span class="disabled">...</span>` 
&tplPagePrevEmpty=`@INLINE <span class="disabled">«</span>` 
&tplPageNextEmpty=`@INLINE <span class="disabled"><span>»</span></span>` 
&tplPageFirst=`@INLINE <span class="control"><a href="/">Первая</a></span>` 
&tplPageLast=`@INLINE <span class="control"><a href="[[+href]]">Последняя</a></span>` 
&tplPageFirstEmpty=`@INLINE <span class="disabled"><span>Первая</span></span>` 
&tplPageLastEmpty=`@INLINE <span class="disabled"><span>Последняя</span></span>` ]]
[[!+page.nav]]

Такой длинный код, так как тут сразу с шаблонами вывода навигации.

Выводим страницы на modx через pdopage

Давайте по порядку:
1) !pdoPage? — вызов некешируемого сниппета
2) &parents=`76` — родительский элемент, с которого выводим документы
3) &includeTVs=`status, start, minimum,screen,tarrifs` — разрешаем вывод дополнительных полей
4) &tpl=`shabindex` наш шаблон вывода документов modx
5) &limit=7 — количество элементов на странице. Если больше и есть page.nav — будет навигация
6) page.nav — вывод навигации.

Нажимайте сохранить и если все нормально — получиться примерно вот так:

Пример шаблона вывода записей modx pdopage

Все тестировалось на modx версии 2.5.7-pl, версия pdoTools 2.11.0-pl.

veniamin

View Comments

Recent Posts

Бонус 100 USDT +10 BUSD от Binance

Биржа криптовалют Binance проводит сейчас промо-акцию: новым пользователям дают ваучеры в сумме 110 долларов. Деньги…

2 года ago

Как парсить длительность видео youtube на php в привычном виде

Самый главный момент в работе с youtube - это получить ключ api через консоль разработчика…

2 года ago

Как удалить чужую сессию пользователя в ubuntu (linux)

Арендую сервер для небольшого проекта на python. И вот приходит мне уведомление, что за сутки…

2 года ago

Как наложить watermark на видео в python windows массово

Тестирую одну схему, и нужно на много видео наложить watermark. Решил делать через Python 3,…

3 года ago

Kwork.ru: опыт поиска исполнителя и поздравление

Пришла в голову одна интересная идея. Связанно с тиктоком. Решил поискать исполнителя, который будет монтировать…

3 года ago

Отзыв о Накрутке подписчиков instagram через Socpublic в автоматическом режиме

Решил проверить "автоматическую" накрутку подписчиков в инстаграмме через сервис активной рекламы Socpublic.com. Сразу скажу -…

3 года ago