Posted in

Как вывести дату через pdoPage в modx revo

Вывод даты через pdopage modx revolution
Вывод даты через pdopage modx revolution

Два дня возился с форматом вывода даты в modx через pdoPage. Бывало один и тот же код в сайдбаре отображался, а на странице нет. В сети все решения были почти одинаковые и ничего не помогало. В этой статье хочу описать вам несколько вариантов вывода даты в modx revolution (у меня версия 2.5.7-pl).

Сначала я хотел вывести дату с Дополнительного поля (там Параметры ввода и вывода “Дата”, формат %d.%m.%Y). Долго возился с форматом, не выводило как нужно. Также хотел вывести дату публикации, но опять безуспешно. Гуглил, копировал вроде бы рабочий код, но он не отображался. Пока не увидел один совет – вывести код в чанк. 

И тогда все заработало. И в сайдбаре, и на странице, все как нужно. Выводил через pdoMenu и pdoPage.

Как вывести дату через pdoPage в modx revolution

Для сайдбара создал чанк sideall со следующим кодом:

<a href="[[+uri]]">[[+pagetitle]] - [[+status]]. [[+publishedon:date=`%d.%m.%Y`]]</a>

Где:
uri – url страницы,
pagetitle – заголовок страницы,
status – дополнительное поле (текст),
publishedon – дата публикации. %d – день, %m – месяц, %Y – год.

Дальше в коде для сайдбара прописал код для pdoMenu:

[[pdoMenu?
    &parents=`76`
    &level=`1`
&includeTVs=`status, start, minimum` 
&tpl=`sideall`
&limit=`10`
&sortdir=`DESC`
	&sortby=`publishedon`
]]

Получили следующий вывод.

Как вывести дату через pdoPage modx revolution
Как вывести дату через pdoPage modx revolution

1 – вывод в сайдбаре.
2 – вывод на странице.
Для страницы использовал следующий код шаблона (в чанке shabindex):

<li>[[+publishedon:date=`%d.%m.%Y`]] <a href="[[+uri]]">[[+pagetitle]]</a>: [[+tv.status]] : от [[+tv.start:strtotime:date=`%d.%m.%Y`]]: минимум [[+tv.minimum]]</li>

А для вывода на странице использовал PdoPage:

[[!pdoPage? &parents=`76` &includeTVs=`status, start, minimum` &tpl=`shabindex` &pageLimit=`10` ]]

В чем разница с strtotime и без в дате modx revolution?

Как видите, выше я писал для даты публикации

[[+publishedon:date=`%d.%m.%Y`]]

и для дополнительного поля

[[+tv.start:strtotime:date=`%d.%m.%Y`]]

Все дело в том, что дата хранится в разном формате. И при выводе через pdoPage в modx для publishedon не надо переводить “строку во время”, а для дополнительного поля с Параметром ввода Дата – надо.

Leave a Reply

Your email address will not be published. Required fields are marked *