Minyta
  • Modx
    • Сниппеты
    • Плагины
    • Модули
    • Уроки
    • Разное
  • JavaScript
  • PHP
  • HTML
  • SEO
  • Полезное
    • Разное
    • Графика
    • Полезные ссылки
    • Шрифты
    • Обучающие сервисы
  • Контакты

Русские даты в MODx EVO

Главная \ Категории \ Modx \ Сниппеты \ Русские даты в MODx EVO

Evo Сниппет

Часто встречается необходимость в выводе на сайте даты, но к сожалению стандартные средства плохо справляются с русскими месяцами.

Для решения данной проблемы создадим сниппет 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*]`]]

Результат работы сниппета:

Плейсхолдеры дат в MODx

[*pub_date*] — дата публикации ресурса
[*unpub_date*] — дата завершения публикации
[*createdon*] — дата создания ресурса
[*editedon*] — дата редактирования ресурса

  • Комментарии
  • Disqus
blog comments powered by Disqus

© 2011 — 2019 minyta.ru

https://aftermarket.supply

Карта сайта

На верх