Побеждаем баг с переводом часов на летнее время в Drupal

Наверняка у кого сайт на Drupal работает более года сталкивались с такой не очень приятной проблемой, когда в нашей раше часы переводят на зимнее время или, наоборот  на летнее, при публикации материалов происходит сдвиг в дате.

Именно решением это проблемы мы с Вами сейчас и займемся. Решение достаточно простое и думаю ни у кого не должно возникнуть проблем при его разрешении.

Первым делом скачаем модуль Daylight saving time, он нам понадобиться, что бы корректно отображать текущую дату.

После того как скачали и установили, нам нужно подправить файл common.inc который находится в папке includes.

Открываем этот файл любым текстовым редактором, в моем случаи это Notepad ++.  Нажимаем Crtl+F (Поиск) и вводим там — A translated date string in the requested format, после чего жмем найти.

Видим такой блок кода:

function format_date($timestamp, $type = ‘medium’, $format = », $timezone = NULL, $langcode = NULL) {
if (!isset($timezone)) {
global $user;
if (variable_get(‘configurable_timezones’, 1) && $user->uid && strlen($user->timezone)) {
$timezone = $user->timezone;
}
else {
$timezone = variable_get(‘date_default_timezone’, 0);
}
}

Нам нужно добавить одну строчку кода в этот блок.

if(function_exists(‘dst_format_date’) ) return dst_format_date($timestamp, $type, $format, $timezone, $langcode);

В итоге должно получиться:

function format_date($timestamp, $type = ‘medium’, $format = », $timezone = NULL, $langcode = NULL) {
if(function_exists(‘dst_format_date’) ) return dst_format_date($timestamp, $type, $format, $timezone, $langcode);
if (!isset($timezone)) {
global $user;
if (variable_get(‘configurable_timezones’, 1) && $user->uid && strlen($user->timezone)) {
$timezone = $user->timezone;
}
else {
$timezone = variable_get(‘date_default_timezone’, 0);
}
}

После чего сохраняем и заливаем файл обратно на сервер.  Теперь нужно настроить дату и время, зайдем www.ваш_сайт.com/admin/settings/dst, и выставим все необходимые настройки. Вот и все теперь дата у Вас будет отображаться правильно.

Это стоит почитать:

Поделись с друзьями:


Запись опубликована в рубрике Веб мастеру на заметку с метками , , . Добавьте в закладки постоянную ссылку.

Один комментарий: Побеждаем баг с переводом часов на летнее время в Drupal

  1. Ульев Игорь говорит:

    Спасибо за решение проблемы… А то и не знал, как в Друпале поменять…

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>