<![CDATA[ Отображение даты в формате `14 июня` - решение - MODX Community Forums]]> https://forums.modx.com/thread/?thread=63028 <![CDATA[Re: Отображение даты в формате `14 июня` - решение]]> https://forums.modx.com/thread/63028/14?page=2#dis-post-473757 Quote from: Vadya at Aug 28, 2007, 02:49 AM
Открываем файл ditto.class.inc.php
В нем меняем содержимое функции formatDate на:
function formatDate($dateUnixTime, $dateFormat) {
    global $modx;
    $eng = array("/January/","/February/","/March/","/April/","/May/","/June/","/July/","/August/","/September/","/October/","/November/","/December/");
    $rus = array("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря");
    $dt = preg_replace($eng, $rus , strftime($dateFormat, (intval($dateUnixTime) + $modx->config["server_offset_time"])));
    return $dt;
}

И затем сохраняем файл в кодировке, которая используется на сайте

Всем привет! Не обнаружил такого кода в ditto.class.inc.php. Моя версия уже MODX 1.0.10. Reflect 2.1.0. Русифицировано, но проблема старая -- вместо "январь" Reflect выводит в архиве новостей "января" и т.п. Не хочется верить, что за шесть лет существования проблемы так и не нашлось решения. Пробовал подключить плагин:

$dateWrong = array("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря");
$dateRight = array("январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь");
$modx->documentOutput = str_replace( $dateWrong, $dateRight, &$modx->documentOutput);


Оно конечно решает проблему, но в пределах всего сайта. Как заставить плагин работать на один только вывод Reflect или на одной странице -- не пойму. Не программист совершенно. Буду благодарен если кто подскажет какое-либо решение.]]>
alexandershowe Aug 01, 2013, 04:52 PM https://forums.modx.com/thread/63028/14?page=2#dis-post-473757
<![CDATA[Re: &#1054;&#1090;&#1086;&#1073;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1077; &#1076;&#1072;&#1090;&#1099; &#1074; &#1092;&#1086;&#1088;&#1084;&#1072;&#1090;&#1077; `14 &#1080;&#1102;&#1085;&#1103;` - &#1088;&#1077;&#1096;&#1077;&#1085;&#1080;&#1077;]]> https://forums.modx.com/thread/63028/14?page=2#dis-post-371928 MaxTax May 06, 2009, 08:48 AM https://forums.modx.com/thread/63028/14?page=2#dis-post-371928 <![CDATA[Re: &#1054;&#1090;&#1086;&#1073;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1077; &#1076;&#1072;&#1090;&#1099; &#1074; &#1092;&#1086;&#1088;&#1084;&#1072;&#1090;&#1077; `14 &#1080;&#1102;&#1085;&#1103;` - &#1088;&#1077;&#1096;&#1077;&#1085;&#1080;&#1077;]]> https://forums.modx.com/thread/63028/14#dis-post-371927 В нем меняем содержимое функции formatDate на:
function formatDate($dateUnixTime, $dateFormat) {
    global $modx;
    $eng = array("/January/","/February/","/March/","/April/","/May/","/June/","/July/","/August/","/September/","/October/","/November/","/December/");
    $rus = array("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря");
    $dt = preg_replace($eng, $rus , strftime($dateFormat, (intval($dateUnixTime) + $modx->config["server_offset_time"])));
    return $dt;
}

И затем сохраняем файл в кодировке, которая используется на сайте]]>
Vadya corp. Aug 28, 2007, 02:49 AM https://forums.modx.com/thread/63028/14#dis-post-371927
<![CDATA[Re: &#1054;&#1090;&#1086;&#1073;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1077; &#1076;&#1072;&#1090;&#1099; &#1074; &#1092;&#1086;&#1088;&#1084;&#1072;&#1090;&#1077; `14 &#1080;&#1102;&#1085;&#1103;` - &#1088;&#1077;&#1096;&#1077;&#1085;&#1080;&#1077;]]> https://forums.modx.com/thread/63028/14#dis-post-371926 Январь - Янв
Февраль - Фев

т.е первые 3 буквы месяца...]]>
Vinsanity Aug 10, 2007, 05:20 AM https://forums.modx.com/thread/63028/14#dis-post-371926
<![CDATA[Re: &#1054;&#1090;&#1086;&#1073;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1077; &#1076;&#1072;&#1090;&#1099; &#1074; &#1092;&#1086;&#1088;&#1084;&#1072;&#1090;&#1077; `14 &#1080;&#1102;&#1085;&#1103;` - &#1088;&#1077;&#1096;&#1077;&#1085;&#1080;&#1077;]]> https://forums.modx.com/thread/63028/14#dis-post-371925 http://modx.ru/blog/cleaner как более универсальному.]]> Metaller Jul 09, 2007, 12:46 PM https://forums.modx.com/thread/63028/14#dis-post-371925 <![CDATA[Re: &#1054;&#1090;&#1086;&#1073;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1077; &#1076;&#1072;&#1090;&#1099; &#1074; &#1092;&#1086;&#1088;&#1084;&#1072;&#1090;&#1077; `14 &#1080;&#1102;&#1085;&#1103;` - &#1088;&#1077;&#1096;&#1077;&#1085;&#1080;&#1077;]]> https://forums.modx.com/thread/63028/14#dis-post-371924 Также я разочаровался давно в установки локали, т.к. работает не всегда и не везде.

Предлагаю такое:
в ditto.class.inc.php заменить все вызовы strftime(bla-bla-bla, bla-bla-bla), на preg_replace(array("/January/","/February/","/March/","/April/","/May/","/June/","/July/","/August/","/September/","/October/","/November/","/December/"),array("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"),strftime(bla-bla-bla, bla-bla-bla))]]>
Vadya corp. Jul 06, 2007, 04:07 PM https://forums.modx.com/thread/63028/14#dis-post-371924
<![CDATA[Re: &#1054;&#1090;&#1086;&#1073;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1077; &#1076;&#1072;&#1090;&#1099; &#1074; &#1092;&#1086;&#1088;&#1084;&#1072;&#1090;&#1077; `14 &#1080;&#1102;&#1085;&#1103;` - &#1088;&#1077;&#1096;&#1077;&#1085;&#1080;&#1077;]]> https://forums.modx.com/thread/63028/14#dis-post-371923 Quote from: SamZ at Jul 06, 2007, 10:24 AM

Quote from: PoMeO at Jul 06, 2007, 08:44 AM

идем в /assets/snippets/ditto/lang/english.inc.php (если прописали в сниппете russian, значит идем в russian.inc.php) и прописываем
setlocale(LC_ALL, ’ru_RU.CP1251’);
ТЕ после этой манипуляции даты отображаются нормально?
ps пробовать лень.
зависит от настроек сервера, если у вас данный скрипт нормально все покажет
<?php
setlocale(LC_TIME, "ru_RU.CP1251"); 
echo strftime('%A, %d %B %Y');
?>

значит все нормально, опять же все зависит от сервера, может быть и так
<?php
setlocale(LC_TIME, "rus"); 
echo strftime('%A, %d %B %Y');
?>

здесь человек тоже отписывал про даты в дитто http://modxcms.com/forums/index.php/topic,6995.150.html

http://hijacker.ru/
справа ditto, даты выводятся как написано выше]]>
PoMeO Jul 06, 2007, 06:19 AM https://forums.modx.com/thread/63028/14#dis-post-371923
<![CDATA[Re: &#1054;&#1090;&#1086;&#1073;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1077; &#1076;&#1072;&#1090;&#1099; &#1074; &#1092;&#1086;&#1088;&#1084;&#1072;&#1090;&#1077; `14 &#1080;&#1102;&#1085;&#1103;` - &#1088;&#1077;&#1096;&#1077;&#1085;&#1080;&#1077;]]> https://forums.modx.com/thread/63028/14#dis-post-371922 unnamed Jul 06, 2007, 05:46 AM https://forums.modx.com/thread/63028/14#dis-post-371922 <![CDATA[Re: &#1054;&#1090;&#1086;&#1073;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1077; &#1076;&#1072;&#1090;&#1099; &#1074; &#1092;&#1086;&#1088;&#1084;&#1072;&#1090;&#1077; `14 &#1080;&#1102;&#1085;&#1103;` - &#1088;&#1077;&#1096;&#1077;&#1085;&#1080;&#1077;]]> https://forums.modx.com/thread/63028/14#dis-post-371921 Quote from: PoMeO at Jul 06, 2007, 08:44 AM

идем в /assets/snippets/ditto/lang/english.inc.php (если прописали в сниппете russian, значит идем в russian.inc.php) и прописываем
setlocale(LC_ALL, ’ru_RU.CP1251’);
ТЕ после этой манипуляции даты отображаются нормально?
ps пробовать лень.]]>
SamZ Jul 06, 2007, 05:24 AM https://forums.modx.com/thread/63028/14#dis-post-371921
<![CDATA[Re: &#1054;&#1090;&#1086;&#1073;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1077; &#1076;&#1072;&#1090;&#1099; &#1074; &#1092;&#1086;&#1088;&#1084;&#1072;&#1090;&#1077; `14 &#1080;&#1102;&#1085;&#1103;` - &#1088;&#1077;&#1096;&#1077;&#1085;&#1080;&#1077;]]> https://forums.modx.com/thread/63028/14#dis-post-371920 ну хоть JS попробовал в действии.
laugh
Вообще-то я предполагал, что после setlocale месяц будет выглядеть как "январь", а не "января".]]>
unnamed Jul 06, 2007, 03:54 AM https://forums.modx.com/thread/63028/14#dis-post-371920