Наша взаимовыгодная связь https://banwar.org/
Привіт всім. У цій невеликій статейці я розповім про те, як виводити дату російською мовою в MODX Revolution. Висновок красивою дати, де назва місяця виводиться російською мовою, я реалізував за допомогою системи фільтрів введення / виведення . До речі, сниппет також можна розширити для інших мов, зараз сниппет підтримує в тому числі англійська та українська.

Вихідний код
Це доповнення я розмістив на GitHub: https://github.com/mishantrop/quasidate , Там завжди міститься остання версія.
Відразу наведу код фільтра. Для того, щоб його використовувати, потрібно створити сниппет (я назвав його quasiDate) і вставити туди цей код.
<? Php / ** * https://quasi-art.ru/ * 2015-2017 * / // Спочатку мова береться з системних налаштувань $ cultureKey = $ modx-> getOption ( 'cultureKey'); // Перевизначення з параметрів сниппета $ cultureKey = $ modx-> getOption ( 'cultureKey', $ scriptProperties, $ cultureKey); $ Input = (int) $ input; // Language data switch ($ cultureKey) {case 'en': $ monthes = 'january, february, march, april, may, june, july, august, september, october, november, december'; $ Weekdays = 'Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday'; break; case 'ua': $ monthes = 'січня, лютого, березня, квітня, травня, червня, липня, серпня, вересня, жовтня, листопада, грудня'; $ Weekdays = 'Понеділок, Вівторок, Середа, Четвер, П \' ятниця, Субота, НЕДІЛЯ '; break; case 'ru': default: $ monthes = 'січня, лютого, березня, квітня, травня, червня, липня, серпня, вересня, жовтня, листопад, грудень'; $ Weekdays = 'Понеділок, Вівторок, Середа, Четвер, П'ятниця, Субота, Неділя'; break; } $ Monthes = explode ( ',', $ monthes); array_unshift ($ monthes, ''); $ Weekdays = explode ( ',', $ weekdays); $ MonthName = trim ($ modx-> getOption (date ( 'n', $ input), $ monthes, '')); $ WeekdayName = trim ($ modx-> getOption ((date ( 'w', $ input) +6)% 7, $ weekdays, '')); // Майбутній результат $ output = $ options; // Назва місяці $ output = str_replace ( '% month', $ monthName, $ output); $ Output = str_replace ( '% weekday', $ weekdayName, $ output); // Заміна стандартних значень $ chars = 'HisdjmwY'; $ CharsLength = strlen ($ chars); for ($ i = 0; $ i <$ charsLength; $ i ++) {$ output = str_replace ( '%'. $ chars [$ i], date ($ chars [$ i], $ input), $ output); } Return $ output;приклад використання
Використовувати цей фільтр потрібно в такий спосіб. Якщо ви використовуєте НЕ getResources, а pdoResources, то виклик модифікатора strtotime можна прибрати, так як pdoResources повертає дату вже у форматі UNIX-timestamp.
<Time datetime = "[[+ publishedon: strtotime: date =`% Y-% m-% d`]] "itemprop =" datePublished "> [[+ publishedon: strtotime: quasiDate =`% j% month% Y` ]] </ time>Lt;?