Создание и управление календарями

:bookmark: Это руководство объясняет, как создавать и управлять календарями в Discourse с помощью плагина Calendar (и Event).

:person_raising_hand: Требуемый уровень пользователя: Все пользователи

Календари — это мощная функция в Discourse, позволяющая организовывать и отображать события внутри вашего сообщества. Это руководство проведет вас через процесс создания календарей, добавления событий и их эффективного управления.

Краткое содержание

  • Включение плагина Calendar
  • Создание календаря в теме или категории
  • Добавление событий в календарь
  • Управление опциями и настройками календаря
  • Использование функции праздничного календаря

Включение плагина Calendar

Прежде чем создавать календари, убедитесь, что плагин «Calendar (and Event)» включен в вашем экземпляре Discourse. Для получения дополнительных сведений о включении плагина и связанных с ним настройках обратитесь к документации по плагину Discourse Calendar and Event.

Создание календаря

Календарь темы

Чтобы встроить календарь в тему:

  1. Создайте новую тему или отредактируйте первый пост существующей темы.

  2. Добавьте следующий код на отдельных строках:

    [calendar]
    [/calendar]
    
  3. Опубликуйте или обновите пост.


:information_source: Первый день недели по умолчанию — понедельник, но его можно настроить с помощью настройки сайта «calendar first day of week» (варианты: суббота, воскресенье или понедельник).

Календарь категории

Чтобы создать календарь для всей категории:

  1. Перейдите в /admin/site_settings/category/discourse_calendar?filter=plugin=discourse-calendar.

  2. В настройке «calendar categories» добавьте запись в следующем формате:

    categoryId=123;tzPicker;defaultView=month
    
    • Замените 123 на ID вашей категории (можно найти в URL при просмотре категории).
  3. Добавьте ID категории в настройку «events calendar categories».

  4. При желании установите «discourse post event allowed on groups», чтобы контролировать, какие группы могут добавлять события.

Добавление элементов в календарь

Календарь темы

Чтобы добавить событие в календарь темы:

  1. Ответьте на тему, содержащую календарь.
  2. Откройте меню опций ⊕ на панели инструментов редактора и используйте функцию «Вставить дату / время», чтобы добавить дату или диапазон дат.
  3. Добавьте описание над датой.
  4. Отправьте ответ.

Событие появится в календаре после перезагрузки темы.

Календарь категории

Чтобы добавить событие в календарь категории:

  1. Создайте новую тему в категории.
  2. Откройте меню опций ⊕ на панели инструментов редактора и выберите «Создать событие».
  3. Заполните детали события и опубликуйте.

Событие появится в календаре категории.

Опции календаря

Вы можете настроить свой календарь, используя различные опции:

Опция Пример Описание
Скрыть выходные weekends="false" Скрывает субботу и воскресенье
Скрыть конкретные дни hiddenDays="1,2" Скрывает понедельник и вторник (используйте 0–6 для воскресенья–субботы)
Установить вид по умолчанию defaultView="month" Варианты: month, week, listNextYear
Игнорировать часовые пояса fullDay="true" Рассматривает все события как целодневные

Пример использования:

[calendar weekends="false" hiddenDays="1,2" defaultView="week" fullDay="true"]
[/calendar]

Удаление элементов календаря

Элементы календаря можно удалить следующими способами:

  • Истекшие элементы календаря могут быть автоматически удалены с помощью настройки «delete expired event posts after».
  • Используйте таймеры тем для автоматического удаления ответов.
  • Вручную удаляйте посты по мере необходимости.

Праздничный календарь

Праздничный календарь — это специальная функция для управления отпусками сотрудников сайта:

  1. Создайте тему с календарем в первом посте.
  2. Установите «holiday calendar topic id» равным ID этой темы.
  3. Ответы на эту тему будут считаться временем отпуска для пользователя, который их опубликовал.
  4. Каждый ответ должен содержать временную метку, добавленную через функцию «Вставить дату / время» в меню опций ⊕ редактора, чтобы она отобразилась в календаре.
  5. Записи об отпусках автоматически и случайно раскрашиваются.
  6. Рядом с именами пользователей, находящихся в отпуске, в карточках пользователей и при упоминаниях @ появляется эмодзи (по умолчанию: :date:).
  7. При желании включите «calendar automatic holidays enabled», чтобы добавить праздники, специфичные для локалей пользователей.

Часто задаваемые вопросы

В: Почему некоторые события, кажется, занимают несколько дней?
О: Календарь всегда работает по UTC. Используйте настройки «all day event start time» и «all day event end time», чтобы скорректировать разницу в часовых поясах.

В: Могу ли я контролировать цвета записей в календаре?
О: Для календарей категорий и предстоящих событий вы можете назначать цвета по тегам или категориям с помощью настройки сайта «map events to color». Записи праздничного календаря автоматически и случайно раскрашиваются и не могут быть настроены.

В: Как отобразить прошлые события в виде списка?
О: В настоящее время существует ошибка при использовании defaultView=listNextYear, из-за которой начальное представление оказывается пустым. В качестве обходного пути пользователям необходимо переключиться на месячный вид, вернуться на один месяц назад, а затем вернуться к списку, чтобы увидеть прошлые события.

Дополнительные ресурсы

11 лайков