SugarTalk - ресурс для администраторов и разработчиков системы SugarCRM.

Календарь: начало недели с понедельника

Добрый день всем читателям нашего блога! Сегодня я решил чиркануть короткую, но довольно полезную заметку, касающуюся календаря в SugarCRM. Я думаю, вы уже заметили, что рабочая неделя в календаре в этой CRM системе начинается с воскресенья. Все дело в том, что разработчики SugarCRM – американцы, а в Америке и Канаде неделя формально начинается как раз с воскресенья. Так что сегодня мы займемся изменением начала недели в календаре на привычный для нас понедельник.

А этих календаря два:
1) jscalendar, который используется в качестве всплывающего календаря в формах редактирования любого модуля
Календарь Sugarcrm

2) календарь одноименного модуля calendar
Модуль мероприятия SugarCRM

Необходимые изменения можно разбить на соответствующие два пункта:

1) Если у вас версия ранее 6.2 то продолжайте читать данный пункт. Если же у вас версия 6.2 и выше, то вам сюда.

В формах редактирования в качестве календаря используется javascript jscalendar. Папка с данным календарем находится в корне вашей CRM. Параметры локализации содержатся в папке lang данного модуля. Для начала недели с понедельника необходимо в файл jscalendar/lang /calendar-ru.js (если вы пользуетесь и английской версией, то и файл calendar-en.js) добавить следующую строчку:

1
Calendar._FD = 1;

FD — сокращение от First Day.
Результат:
Jscalendar SugarCRM

2)Несколько сложнее обстоит дело с модулем календаря. К сожалению, разработчики не предоставили удобного параметра для настройки календаря.

Если у вас версия SugarCRM 6.2 или 6.3, то более корректные номера строк можно получить в соответствующей теме на форуме. Если у вас 6.0 то правильные номера строк приведены в данной статье.

Нам необходимо будет подправить два файла следующим образом.
Открываем файл modules/Calendar/Calendar.php и строку 186 изменяем на следующую:

186
$first_day_of_month = $this->date_time->get_day_by_index_this_month(-1);

Строку 202 в этом же файле изменяем на:

202
for($i=1;$i<$days_in_week+1;$i++)
< v>

Открываем файл modules/Calendar/DateTimeUtil.php.

Строку 536 изменяем на:

536
if ( $day_index < 0 || $day_index > 7 )

Результат:
Начало недели с понедельника

Данное решение для SugarCRM 6.0. Но будет работать и на версии 5.5, но, возможно, номера строк будут отличаться на пару позиций.

Готово! Теперь можно в очередной раз бежать к начальству за премией :-)

Обновление от 6 сентября 2010.
Несколько полезных дополнений по данной теме:
1) Чтобы в режиме просмотра за неделю в шапке показывалась корректная дата, а не смещенная на один день, необходимо в файле modules/Calendar/templates/templates_calendar.php,
заменить строки (у меня 829-830 строка):

829
830
$first_day = $date_time->get_day_by_index_this_week(0);
$last_day = $date_time->get_day_by_index_this_week(6);

на

829
830
$first_day = $date_time->get_day_by_index_this_week(1);
$last_day = $date_time->get_day_by_index_this_week(7);

2) Чтобы в режиме просмотра за месяц и год были правильно подсвечены выходные, необходимо в modules/Calendar/templates/templates_calendar.php заменить строку 703 с данным содержанием

703
<td <?php if($j==0 || $j==6) { ?>class="weekEnd"<?php } ?>><?php  template_cal_day_slice($args); ?></td>

на

703
<td <?php if($j==5 || $j==6) { ?>class="weekEnd"<?php } ?>><?php  template_cal_day_slice($args); ?></td>

P.S. номера строк могут немного отличаться, ориентируйтесь по коду, а не по номерам.

UPDATE. 06 сентября 2011.
SugarCRM 6.2
В SugarCRM 6.2 разработчики отказались от js библиотеки jscalendar и используют средства встроенной YUI библиотеки. Поэтому открываем файл jssource/src_files/include/javascript/calendar.js и после строк:

1
2
3
4
calendar.cfg.setProperty('DATE_FIELD_DELIMITER', date_field_delimiter);
calendar.cfg.setProperty('MDY_DAY_POSITION', dayPos+1);
calendar.cfg.setProperty('MDY_MONTH_POSITION', monthPos+1);
calendar.cfg.setProperty('MDY_YEAR_POSITION', yearPos+1);

добавляем строку

1
calendar.cfg.setProperty('START_WEEKDAY',  1);

После этого для обновления javascript, ОБЯЗАТЕЛЬНО в админке выбираем восстановление — Минимизация файлов Javascript.

Высказать своё мнение о статье Вы можете в комментариях, если Вас интересуют какие либо вопросы или дополнения, то обсуждение по данной теме доступно на нашем форуме.

Последнее изменениеПонедельник, 10 июля 2017 18:07
  • Оцените материал
    (0 голосов)
  • Опубликовано в SugarCRM
  • Прочитано 29344 раз
Другие материалы в этой категории: « Чарты и графики в IReport Модуль интеграции с «Jivosite» »

11139 комментарии

  • Rotary Pompa Vane

    Rotary Pompa Vane

    Комментировать 02.09.2017 15:52

    Календарь: начало недели с понедельника

  • Wholesale NFL Jerseys China

    Wholesale NFL Jerseys China

    Комментировать 02.09.2017 15:48

    With the proper understanding and resources you could easily create the end results which you want. You will find unfortunately some web hosting companies that will do as they please with out any notification to their customers.You must consider home distractions when you would like to use a profitable work at home organization. Grown ups who are kids at heart as well as preschoolers are enjoying this famous game system. Find out more here: xbox360repairs.
    Wholesale NFL Jerseys China

  • High Speed Brushless Motor

    High Speed Brushless Motor

    Комментировать 02.09.2017 15:46

    Календарь: начало недели с понедельника

  • Lebensmittel-Maschinen Schwei脽en

    Lebensmittel-Maschinen Schwei脽en

    Комментировать 02.09.2017 14:34

    Календарь: начало недели с понедельника

  • 小件设备如何进口

    小件设备如何进口

    Комментировать 02.09.2017 14:30

    2、 制造业智能化已经被政府列为未来行业发展的关键战略。同把握每个时期的首都发展主题分不开。是国家卫生城市,作为江苏中部沿海新兴港口城市,今年前6个月,逐步放开除居民用电、农业用电等之外的销售电价。课题组主要成员合影据了解, Dynisco是当时世界上最厉害的,在展会上,行业存在的问题比较严峻。

  • copie bracelet van cleef alhambra

    copie bracelet van cleef alhambra

    Комментировать 02.09.2017 14:29

    You ought to be a part of a contest for one of the most useful sites on the net. I am going to recommend this blog!|
    copie bracelet van cleef alhambra

  • Clare Walters

    Clare Walters

    Комментировать 02.09.2017 14:28

    very nice post, i certainly love this website, keep on it

  • Fiji Yacht Charter

    Fiji Yacht Charter

    Комментировать 02.09.2017 13:10

    When I originally commented I clicked the -Notify me when new comments are added- checkbox and now each time a comment is added I get four emails with the same comment. Is there any way you can remove me from that service? Thanks!

  • van cleef copy necklace

    van cleef copy necklace

    Комментировать 02.09.2017 13:08

    First of all I want to say great blog! I had a quick question in which I’d like to ask if you do not mind. I was curious to find out how you center yourself and clear your thoughts prior to writing. I have had a hard time clearing my mind in getting my thoughts out. I do take pleasure in writing however it just seems like the first 10 to 15 minutes are generally wasted just trying to figure out how to begin. Any suggestions or tips? Kudos!|
    van cleef copy necklace

  • Gasonline +Forklift +Tank

    Gasonline +Forklift +Tank

    Комментировать 02.09.2017 13:06

    Календарь: начало недели с понедельника

Оставить комментарий

Убедитесь, что вы вводите (*) необходимую информацию, где нужно
HTML-коды запрещены

Наверх

Последние новости

  • 1
  • 2
  • 3
  • 4

Популярные новости

  • 1
  • 2
  • 3
  • 4