Я против ужасной войны! Я выражаю свой протест. Я русский. Нам всем пиздец из-за всего лишь одного человека.

Дата в MODx на русском

На главной странице есть генератор статей, с пометкой о дате создания. И эта дата на русском, а значит...

Возьмем для примера [[+publishedon]].

  • По-умолчанию он содержит строку типа 2016-01-23 00:59:00
  • Применив стандартный фильтр MODx ([[+publishedon:strtotime:date=`%d %b %Y`]]) получаем 23 Jan 2016.
  • Но нам-то, славянам, надобно вот такое представление даты — 23 Января 2016

Для решения этой тяжелешей задачи академики из ведущих инженерных университетов со всего мира, сообща спроектировали алгоритм. Это PHP код, который нужно поместить в сниппет, назвав его dateRU:

$month_arr = array(
'01' => 'Января',
'02' => 'Февраля',
'03' => 'Марта',
'04' => 'Апреля',
'05' => 'Мая',
'06' => 'Июня',
'07' => 'Июля',
'08' => 'Августа',
'09' => 'Сентября',
'10' => 'Октября',
'11' => 'Ноября',
'12' => 'Декабря'
);

$time = strtotime($input);
$month = strftime('%m', $time);
$day = strftime('%d', $time);
$year = strftime('%Y', $time);
return $day." ".$month_arr[$month]." ".$year;

В результате мы получаем возможность использовать конструкцию [[+publishedon:dateRU=`%d %b %Y`]], и ожидать того, что получим на выходе нужный результат.

Стоит отметить, что японцы не принимали участия в разработке, поэтому скрипт получился весьма топорный, и совершенно не гибкий. Возможно, когда евросоюз выделит грант, данный программный код бдет доработан.

Комментарии (0)

  1. Напишите первый комментарий
*Комментарий будет опубликован после проверки модератором

Комментарии easyComm

Максим 25 апреля 2018, 19:50

Создать статью с решением, которое даже редактор подсвечивает на предмет ошибок в коде - это гениально.

Администратор

Спасибо, поправил помарку!

Похожие статьи

Наш сайт использует куки, нажмите «ОК» если вы не против
OK