Это руководство объясняет, как создавать и управлять календарями в Discourse с помощью плагина Calendar (и Event).
Требуемый уровень пользователя: Все пользователи
Календари — это мощная функция в Discourse, позволяющая организовывать и отображать события внутри вашего сообщества. Это руководство проведет вас через процесс создания календарей, добавления событий и их эффективного управления.
Краткое содержание
- Включение плагина Calendar
- Создание календаря в теме или категории
- Добавление событий в календарь
- Управление опциями и настройками календаря
- Использование функции праздничного календаря
Включение плагина Calendar
Прежде чем создавать календари, убедитесь, что плагин «Calendar (and Event)» включен в вашем экземпляре Discourse. Для получения дополнительных сведений о включении плагина и связанных с ним настройках обратитесь к документации по плагину Discourse Calendar and Event.
Создание календаря
Календарь темы
Чтобы встроить календарь в тему:
-
Создайте новую тему или отредактируйте первый пост существующей темы.
-
Добавьте следующий код на отдельных строках:
[calendar] [/calendar] -
Опубликуйте или обновите пост.
Первый день недели по умолчанию — понедельник, но его можно настроить с помощью настройки сайта «calendar first day of week» (варианты: суббота, воскресенье или понедельник).
Календарь категории
Чтобы создать календарь для всей категории:
-
Перейдите в
/admin/site_settings/category/discourse_calendar?filter=plugin=discourse-calendar. -
В настройке «calendar categories» добавьте запись в следующем формате:
categoryId=123;tzPicker;defaultView=month- Замените
123на ID вашей категории (можно найти в URL при просмотре категории).
- Замените
-
Добавьте ID категории в настройку «events calendar categories».
-
При желании установите «discourse post event allowed on groups», чтобы контролировать, какие группы могут добавлять события.
Добавление элементов в календарь
Календарь темы
Чтобы добавить событие в календарь темы:
- Ответьте на тему, содержащую календарь.
- Откройте меню опций ⊕ на панели инструментов редактора и используйте функцию «Вставить дату / время», чтобы добавить дату или диапазон дат.
- Добавьте описание над датой.
- Отправьте ответ.
Событие появится в календаре после перезагрузки темы.
Календарь категории
Чтобы добавить событие в календарь категории:
- Создайте новую тему в категории.
- Откройте меню опций ⊕ на панели инструментов редактора и выберите «Создать событие».
- Заполните детали события и опубликуйте.
Событие появится в календаре категории.
Опции календаря
Вы можете настроить свой календарь, используя различные опции:
| Опция | Пример | Описание |
|---|---|---|
| Скрыть выходные | 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».
- Используйте таймеры тем для автоматического удаления ответов.
- Вручную удаляйте посты по мере необходимости.
Праздничный календарь
Праздничный календарь — это специальная функция для управления отпусками сотрудников сайта:
- Создайте тему с календарем в первом посте.
- Установите «holiday calendar topic id» равным ID этой темы.
- Ответы на эту тему будут считаться временем отпуска для пользователя, который их опубликовал.
- Каждый ответ должен содержать временную метку, добавленную через функцию «Вставить дату / время» в меню опций ⊕ редактора, чтобы она отобразилась в календаре.
- Записи об отпусках автоматически и случайно раскрашиваются.
- Рядом с именами пользователей, находящихся в отпуске, в карточках пользователей и при упоминаниях @ появляется эмодзи (по умолчанию:
). - При желании включите «calendar automatic holidays enabled», чтобы добавить праздники, специфичные для локалей пользователей.
Часто задаваемые вопросы
В: Почему некоторые события, кажется, занимают несколько дней?
О: Календарь всегда работает по UTC. Используйте настройки «all day event start time» и «all day event end time», чтобы скорректировать разницу в часовых поясах.
В: Могу ли я контролировать цвета записей в календаре?
О: Для календарей категорий и предстоящих событий вы можете назначать цвета по тегам или категориям с помощью настройки сайта «map events to color». Записи праздничного календаря автоматически и случайно раскрашиваются и не могут быть настроены.
В: Как отобразить прошлые события в виде списка?
О: В настоящее время существует ошибка при использовании defaultView=listNextYear, из-за которой начальное представление оказывается пустым. В качестве обходного пути пользователям необходимо переключиться на месячный вид, вернуться на один месяц назад, а затем вернуться к списку, чтобы увидеть прошлые события.



