а вы через плагин-то пробовали?:))
Столкнулся на другом хосте с обратной проблемой: форматирует только на русском. То есть результат функции date(), видимо, зависит от того, что прописано в настройках на хосте.
Кто-нибудь знает, можно как-то в php.ini или еще как-то указать, на каком языке делать форматирование даты?
Потому что на кириллице вообще проблемы с кодировкой и никакими фильтрами уже не помочь.
Что-то в 2.2.rс3 не пашет ни прописываение локали в индекс.пхп ни установка в система, архивист выдает в месяце кракозябры (дефолтную ср1251) хотя везде утф, замучился сосем. Как там прописать в Архивисте properties чтобы он хоть дату типа %D выдавал, &setDate='%D' ничего не дает зараза.
-
☆ A M B ☆
- 428 Posts
Quote from: govzavu at Jan 03, 2012, 09:31 AMКак там прописать в Архивисте properties чтобы он хоть дату типа %D выдавал, &setDate='%D' ничего не дает зараза.
Если вызов сниппета Archivist, то &dateFormat. Если в чанге tpl - то вместо
поставьте
[[+day]]/[[+month]]/[[+year]]
- это Вам выведет цифрами, ну а если нужно в русские название месяца, то создайте сниппет к примеру
dateCorect
$context = $modx->context->get('key');
switch ($context) {
case 'web':
$corect= array('01'=>'Январь','02'=>'Февраль','03'=>'Март','04'=>'Апрель','05'=>'Май','06'=>'Июнь','07'=>'Июль','08'=>'Август','09'=>'Сентябрь','10'=>'Октябрь','11'=>'Ноябрь','12'=>'Декабрь');
break;
case 'uk':
$corect = array('01'=>'Січень','02'=>'Лютий','03'=>'Березень','04'=>'квітня','05'=>'Травень','06'=>'Червень','07'=>'Липень','08'=>'Серпень','09'=>'Вересень','10'=>'жовтня','11'=>'листопада','12'=>'Грудень');
break;
default:
$corect = array('01'=>'January','02'=>'February','03'=>'March','04'=>'April','05'=>'May','06'=>'June','07'=>'July','08'=>'August','09'=>'September','10'=>'October','11'=>'November','12'=>'December');
}
return strip_tags(strtr($input, $corect));
, ну и заменить month
[[+day]]/[[+month:dateCorect]]/[[+year]]
Valentin Rasulov - Industrial design (Hobbies - Web Development)
Development not standard projects on CMF MODx Revolution.
Small sample of extensions
Большое спасибо за описание и некоторый итог.
Нужно было для вызова сниппета, в итоге [!Archivist? &dateFormat='%D' &target='30' &parents='2,3,4']]
&dateFormat как раз имел ввиду, он не срабатывает.
-
☆ A M B ☆
- 428 Posts
в сниппете Archivist строчки 69-76
/* set locale for date processing */
if ($modx->getOption('setLocale',$scriptProperties,true)) {
$cultureKey = $modx->getOption('cultureKey',null,'en');
$locale = !empty($scriptProperties['locale']) ? $scriptProperties['locale'] : $cultureKey;
if (!empty($locale)) {
setlocale(LC_ALL,$locale);
}
} попробуйте в нахалку ему запхнуть нужный локаль....
Valentin Rasulov - Industrial design (Hobbies - Web Development)
Development not standard projects on CMF MODx Revolution.
Small sample of extensions
-
☆ A M B ☆
- 428 Posts
Quote from: govzavu at Jan 08, 2012, 11:49 AM Выход пока только изменение формата выводы даты - типа 11/11/2011 ?
Ну, месяц можно через реплейс загнать, тогда будет прописью, если это важно.
Если проект будет не на винде, то не парьтесь пока, оставьте цифрами.
Valentin Rasulov - Industrial design (Hobbies - Web Development)
Development not standard projects on CMF MODx Revolution.
Small sample of extensions