26 марта 2008 годаКакой dateformat поставить в вызове ditto?
// функция перевода даты в текст
if (!function_exists("date2text")) {
function date2text($page_createdon) {
// заносим в массив названия месяцев
$month[1] = "январ";
$month[2] = "феврал";
$month[3] = "март";
$month[4] = "апрел";
$month[5] = "ма";
$month[6] = "июн";
$month[7] = "июл";
$month[8] = "август";
$month[9] = "сентябр";
$month[10] = "октябр";
$month[11] = "ноябр";
$month[12] = "декабр";
// номер месяца в году
$mnum = date("n", $page_createdon);
// число
$daym = date("j", $page_createdon);
// год
$year = date("Y", $page_createdon);
// текстовое значение месяца (также из массива)
$monthm = $month[$mnum];
//если третий или восьмой месяц...
if ($mnum==3||$mnum==8)
{
// ... то добавляем окончание «а»
$k="а";
}
else
{
// ... добавляем окончание «я»
$k="я";
}
unset($month);
return "$daym $monthm$k $year";
}
}
// преобразуем дату в текст
return date2text($unixtime);
PHP ничего не проставляет, конкретное название зависит от локали. Если окончания не добавляются, значит на хостинге используется такая локаль (у меня, например, все нормально добавляется).
поскольку PHP не проставляет окончания для месяцев...
В шаблоне Ditto вызывать сниппет и передавать [+date+] в качестве параметра. Есть некоторые тонкости, с первого раза может не получиться, но ничего сверхсложного там нет.
Не проблема написать маленький сниппет, только как его подружить с Ditto?

$string = isset ($string ) ? $string : 0;
$lang = isset ($lang) ? $lang: "ua";
$patterns = array("/Январь/","/Февраль/","/Март/","/Апрель/","/Май/","/Июнь/","/июль/","/Август/","/Сентябрь/","/Октябрь/","/Ноябрь/","/Декабрь/");
switch ($lang) {
case "ua":
$replacements = array("січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня");
echo preg_replace($patterns, $replacements, $string);
break;
case "ru":
$replacements = array("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря");
echo preg_replace($patterns, $replacements, $string);
break;
}