Вывод даты на русском для phpprobid » Блог DINa

Русские даты в phpprobid

06.08.2011
ReTweet

Продолжим рассказывать об изменениях в скрипте, начатое на странице Русские категории для 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. Однако нельзя гарантировать некоторых сбоев в работе, которые могут выявиться при длительном применении. Если таковые будут вами определены, то пожалуйста, сообщите в наш адрес.

Коротко о сайте.

Блог meganfoxstar.ru поможет вам в Установке и настройке cms Vamshop, PHPProBid, Esyndicat, закрепит и расширит имеющиеся знания. Создание сайтов, продвижение сайтов, оптимизация информации. Теория и практика seo. CSS-верстка, веб-мастеринг, интернет-технологии, манимейкинги – все это и намного больше вы сможете найти на страницах нашего проекта!.

Основной        Дополнит         Twitter
RSS фид основной    RSS фид дополнительный    Всего Фолловеров блога
1006
RSSПодписка на обновления по RSS

Обновления блога по почтеОбновления блога на почтовый ящик