Русские даты в phpprobid
Продолжим рассказывать об изменениях в скрипте, начатое на странице Русские категории для phpprobid. Теперь займемся изменениями, приводящими к выводу русских дат на вашем аукционе. Ведь поверьте не очень радостно смотреть на русский язык в тексте предложений и тут же видеть английский вывод дат.
Изменяем даты в основной (main) области сайта
Для изменения даты выводимой на сайте в аукционах и других возможных местах (к примеру в правом модуле новостей или к каждой добавляемой новости) предлагается внести изменения файл /includes/functions_date.php. Находим в нем функцию function show_date и заменяем ее полностью на следующее выражение -
function show_date ($timestamp, $show_time = true){
$translation = array(
"Monday" => "Понедельник","Tuesday" => "Вторник","Wednesday" => "Среда","Thursday" => "Четверг","Friday" => "Пятница","Saturday" => "Суббота","Sunday" => "Воскресенье",
"Mon" => "Пн","Tue" => "Вт","Wed" => "Ср","Thu" => "Чт","Fri" => "Пт","Sat" => "Сб","Sun" => "Вс",
"January" => "Января","February" => "Февраля","March" => "Марта","April" => "Апреля","May" => "Мая","June" => "Июня","July" => "Июля","August" => "Августа","September" => "Сентября","October" => "Октября","November" => "Ноября","December" => "Декабря",
"Jan" => "Янв","Feb" => "Фев","Mar" => "Мар","Apr" => "Апр","May" => "Мая","Jun" => "Июн","Jul" => "Июл","Aug" => "Авг","Sep" => "Сен","Oct" => "Окт","Nov" => "Ноя","Dec" => "Дек",
);
(string) $display_output = null;
if ($timestamp){
$date_format = ($show_time) ? DATETIME_FORMAT : DATE_FORMAT;
$offset_time = $timestamp + (TIME_OFFSET * 60 * 60);
$display_output = strtr(date($date_format, $offset_time),$translation);
}
else{$display_output = GMSG_NA;}
return $display_output;
}
Результат работы вы можете увидеть на шорт картинке в этом подразделе чуть выше или на демо сайте.
Изменяем дату в header
Попробуем теперь изменить данные по дате в header, где выводится текущая дата и время. Есть несколько вариантов решения данного вопроса.
1. Если в global_header.php в корне вашего сайта заменить строку
$current_date = date(DATE_FORMAT, time() + (TIME_OFFSET * 3600));
заменить на следующее выражение
$current_date = date('d.m.Y', time() + (TIME_OFFSET * 3600));
то дата будет выведена в упрощенном формате. При ’dmy’ примет вид - 25.10.11, а при ’dmY’ уже 25.10.2011.
2. Вариант ближе к первоначальному с укороченным выводом месяца.
В этом случае замену производим на следующее выражение -
$translation = array( "Monday" => "Понедельник","Tuesday" => "Вторник","Wednesday" => "Среда","Thursday" => "Четверг","Friday" => "Пятница","Saturday" => "Суббота","Sunday" => "Воскресенье", "Mon" => "Пн","Tue" => "Вт","Wed" => "Ср","Thu" => "Чт","Fri" => "Пт","Sat" => "Сб","Sun" => "Вс", "January" => "Января","February" => "Февраля","March" => "Марта","April" => "Апреля","May" => "Мая","June" => "Июня","July" => "Июля","August" => "Августа","September" => "Сентября","October" => "Октября","November" => "Ноября","December" => "Декабря", "Jan" => "Янв","Feb" => "Фев","Mar" => "Мар","Apr" => "Апр","May" => "Мая","Jun" => "Июн","Jul" => "Июл","Aug" => "Авг","Sep" => "Сен","Oct" => "Окт","Nov" => "Ноя","Dec" => "Дек", ); $current_date = strtr(date(DATE_FORMAT, time() + (TIME_OFFSET * 3600)),$translation);
Необходимые замечания к обоим последним статьям.
Замечание 1 - варианты преобразования работоспособные, однако не учитывают условия изменения языка из админпанели или самим пользователем с фронтэнда сайта. То есть в приведенных примерах русские даты будут присутствовать и в английской версии вашего сайта.
Конечно, вы можете учесть вносимые через админпанель изменения добавив условия проверки изменения переменных site_lang и user_lang по типу
if(site_lang = 'russian'){
......
}
else{
......
}
Но с этим вариантом изменений постарайтесь разобраться сами.
Замечание 2 - еще раз повторимся - варианты преобразований работоспособные и были проверены на тестовом сайте в версии 6.07. Однако нельзя гарантировать некоторых сбоев в работе, которые могут выявиться при длительном применении. Если таковые будут вами определены, то пожалуйста, сообщите в наш адрес.

Блог
Услуги
Карта
CSS оптима
RSS
О нас
Контакт