Categories: ModX

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

Два дня возился с форматом вывода даты в 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

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 не надо переводить «строку во время», а для дополнительного поля с Параметром ввода Дата — надо.

veniamin

Recent Posts

Как заработать токен NOT за стейкинг BNB или FDUSD

Очень много разговоров в последнее время за токен NOT. Много бирж будут делать листинг токена,…

6 месяцев ago

Как заработать TON и NOT за стейкинг в телеграм

Телеграм недавно запустил возможность стейкать (замораживать) USDT и получать за это их валюту TON. Очень…

6 месяцев ago

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

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

3 года ago

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

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

3 года ago

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

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

3 года ago

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

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

3 года ago