Два дня возился с форматом вывода даты в modx через pdoPage. Бывало один и тот же код в сайдбаре отображался, а на странице нет. В сети все решения были почти одинаковые и ничего не помогало. В этой статье хочу описать вам несколько вариантов вывода даты в modx revolution (у меня версия 2.5.7-pl).
Сначала я хотел вывести дату с Дополнительного поля (там Параметры ввода и вывода «Дата», формат %d.%m.%Y). Долго возился с форматом, не выводило как нужно. Также хотел вывести дату публикации, но опять безуспешно. Гуглил, копировал вроде бы рабочий код, но он не отображался. Пока не увидел один совет — вывести код в чанк.
И тогда все заработало. И в сайдбаре, и на странице, все как нужно. Выводил через pdoMenu и pdoPage.
Как вывести дату через pdoPage в modx revolution
Для сайдбара создал чанк sideall со следующим кодом:
1 | <a href="[[+uri]]">[[+pagetitle]] - [[+status]]. [[+publishedon:date=`%d.%m.%Y`]]</a> |
Где:
uri — url страницы,
pagetitle — заголовок страницы,
status — дополнительное поле (текст),
publishedon — дата публикации. %d — день, %m — месяц, %Y — год.
Дальше в коде для сайдбара прописал код для pdoMenu:
1 2 3 4 5 6 7 8 9 | [[pdoMenu? &parents=`76` &level=`1` &includeTVs=`status, start, minimum` &tpl=`sideall` &limit=`10` &sortdir=`DESC` &sortby=`publishedon` ]] |
Получили следующий вывод.
1 — вывод в сайдбаре.
2 — вывод на странице.
Для страницы использовал следующий код шаблона (в чанке shabindex):
1 | <li>[[+publishedon:date=`%d.%m.%Y`]] <a href="[[+uri]]">[[+pagetitle]]</a>: [[+tv.status]] : от [[+tv.start:strtotime:date=`%d.%m.%Y`]]: минимум [[+tv.minimum]]</li> |
А для вывода на странице использовал PdoPage:
1 | [[!pdoPage? &parents=`76` &includeTVs=`status, start, minimum` &tpl=`shabindex` &pageLimit=`10` ]] |
В чем разница с strtotime и без в дате modx revolution?
Как видите, выше я писал для даты публикации
1 | [[+publishedon:date=`%d.%m.%Y`]] |
и для дополнительного поля
1 | [[+tv.start:strtotime:date=`%d.%m.%Y`]] |
Все дело в том, что дата хранится в разном формате. И при выводе через pdoPage в modx для publishedon не надо переводить «строку во время», а для дополнительного поля с Параметром ввода Дата — надо.
0 Comments