Давайте разберемся с вами как выводить записи на modx с помощью pdotools, а именно через pdoPage. По порядку создадим шаблон, выведем туда дополнительные поля и отобразим это все на странице.
Добавляем новый чанк. Пишем туда необходимые данные, например, 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. Я делаю его некешируемым, мой код выглядит вот так:
[[!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]]
Такой длинный код, так как тут сразу с шаблонами вывода навигации.
Давайте по порядку:
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 версии 2.5.7-pl, версия pdoTools 2.11.0-pl.
Очень много разговоров в последнее время за токен NOT. Много бирж будут делать листинг токена,…
Телеграм недавно запустил возможность стейкать (замораживать) USDT и получать за это их валюту TON. Очень…
Биржа криптовалют Binance проводит сейчас промо-акцию: новым пользователям дают ваучеры в сумме 110 долларов. Деньги…
Самый главный момент в работе с youtube - это получить ключ api через консоль разработчика…
Арендую сервер для небольшого проекта на python. И вот приходит мне уведомление, что за сутки…
Тестирую одну схему, и нужно на много видео наложить watermark. Решил делать через Python 3,…
View Comments
Как раз искал подобную инфу, применю на практике.
Применяйте :)