Изменение первого дня недели в Movable Type 2.x

| Нет комментариев

В Movable Type 2.x первым днем недели по умолчанию считается воскресенье. Стандартными средствами изменить этот параметр нельзя, необходимо редактировать файл Context.pm. Рецепт для Movable Type 2.64 приводится ниже.

1) Берем файл /lib/Mt/Template/Context.pm.
2) Находим следующие строки (у меня они шли под номерами 1523 и 1524):

my $pad_start = wday_from_ts($y, $m, 1);
my $pad_end = 6 - wday_from_ts($y, $m, $days_in_month);

3) Удаляем их (для безопасности можно закомментировать).
4) Вставляем в это место следующий код:

my ($sdow);
$sdow = 0 unless ($sdow = $args-> {sdow});
my $pad_start = (wday_from_ts($y, $m, 1) + 7 - $sdow) % 7;
my $pad_end = 6 - (wday_from_ts($y, $m, $days_in_month) + 7 - $sdow) % 7;

Примечание: Если при компиляции будут выдаваться ошибки, просто замените код, вставленный через буфер обмена, точно таким же, но набранным руками (четыре строки не так сложно набрать) - какой-то из специальных символов, похоже, не переносит совершения над собой операции копирования/вставки.
5) Сохраняем файл и грузим его на сервер.
6) В шаблоне той страницы, где используется календарь, надо заменить тег <MTCalendar sdow="1"> на <MTCalendar sdow="1">.
7) Изменяем заголовок календаря (там жестко прописаны дни недели, поэтому воскресенье надо переместить в конец).
8) Сохраняем шаблон и пересобираем страницы.

Комментировать


Введите изображённые на картинке символы.