Часто встречается необходимость в выводе на сайте даты, но к сожалению стандартные средства плохо справляются с русскими месяцами.
Для решения данной проблемы создадим сниппет daterus. Он позволит не только перевести месяца на русский язык, но и выводить дату в нужном нам формате.
В панели администрирования заходим в категорию:
Элемента-> Управление элементами -> Сниппеты -> Новый сниппет
Название сниппета: daterus
Описание: Сниппет для конвертации даты
Код сниппета (php):
<?php $MyDate= (isset($MyDate)) ? $MyDate: $modx -> documentObject['MyDate']; $months = array('','января','февраля','марта','апреля','мая','июня','июля', 'августа','сентября','октября','ноября','декабря'); $day = date("j" ,$MyDate); $month = $months[date("n",$MyDate)]; $year = date("Y",$MyDate); $h = date("G",$MyDate); $i = date("i",$MyDate); echo "$day $month $year в $h:$i "; ?>
Сниппет довольно простой, но на всякий случай опишу основные моменты.
$months - Это массив содержащий название русских месяцев, можно его отредактировать заменив полные названия на короткие: янв, фев, март и т.д. если есть такая необходимость
echo "$day $month $year в $h:$i "; - непосредственно вывод даты. Можно поменять элементы местами или убрать не нужные, а так же при необходимости поместить их в определенные блоки.
Например: "<span class="day">$day</span> <span class="month">$month</span>"
Вызывается сниппет как и все сниппеты обрамленный парой квадратных скобок [[имяСниппета]] для кешированного вывода и [!имяСниппета]] для не кешированного.
Параметры: MyDate - дата в UNIX формате (количество секунд прошедших с 1 января 1970 года).
Как раз в таком формате работает плейсхолдер [*createdon*] отвечающий за дату создания ресурса.
Обратите внимание что плейсхолдер [*createdon*] выводит дату создания ресурса отображаемого на экране, а [+createdon+] это плейсхолдер Ditto и он используется в шаблонах вывода.
[[daterus? &MyDate=`[*createdon*]`]]
Результат работы сниппета:
[*pub_date*] — дата публикации ресурса
[*unpub_date*] — дата завершения публикации
[*createdon*] — дата создания ресурса
[*editedon*] — дата редактирования ресурса