Календарь и события Discourse

:discourse2: Резюме Discourse Calendar and Events добавляет динамические и интерактивные функции календаря и событий на ваш сайт Discourse.
:open_book: Руководство по установке Этот плагин включен в ядро Discourse. Отдельная установка плагина не требуется.

Включение календаря и событий

Плагин «Календарь и события» можно включить либо с помощью переключателя, либо через его настройки; оба варианта доступны на странице admin/plugins:

Возможности

Вполне ожидаемо, что Discourse Calendar and Events добавляет на ваш сайт Discourse функции календаря и событий. С их помощью вы можете создавать индивидуальные календари тем для отслеживания важных событий или временных шкал, отображать календари в категориях, добавлять праздничный календарь для отметки отпусков, отсутствия или больничных, создавать интерактивные темы событий, а также показывать удобную сводку всех предстоящих событий.

Календари

Нестандартные календари можно создавать в нескольких темах, а те, которым вы хотите придать большую видимость, можно отображать над списком тем категории.

Более подробную информацию о создании и использовании календарей вы найдете здесь:

События

Функция «События» позволяет добавлять в темы интерактивные элементы, с помощью которых участники могут зарегистрироваться для участия в мероприятиях вашего сообщества. Все они сводятся в отдельный общесайтовый календарь, с возможностью добавления удобной ссылки в меню навигации. Подробнее о создании и использовании этой функции читайте здесь:

:exclamation: Не путайте это с плагином Events от Pavilion (обратите внимание на множественное число)

Настройки календаря

Название Описание
calendar enabled Включить плагин discourse-calendar. Это добавит поддержку тега [calendar][/calendar] в первом посте темы.
holiday calendar topic id ID темы календаря отпусков/отсутствий сотрудников.
holiday status emoji Определяет эмодзи, используемый для статуса праздника.
delete expired event posts after Посты с истекшими событиями будут автоматически удаляться через (n) часов. Установите -1, чтобы отключить удаление.
all day event start time Время начала событий, для которых не указано время начала. Формат HH:mm. Для 6:00 утра введите 06:00.
all day event end time Время окончания событий, для которых не указано время окончания. Формат HH:mm. Для 6:00 вечера введите 18:00.
calendar categories Отображать календарь вверху категории. Обязательные настройки: categoryId и postId. Например: categoryId=6;postId=453[1]. Другие допустимые настройки: tzPicker[2], weekends[3] и defaultView[4].
calendar categories outlet Позволяет изменить, какой outlet должен отображать календарь категории.
working days Установить рабочие дни. Вы можете отображать доступность группы с помощью тега timezones в посте, например: [timezones group=admins][timezones].
working day start hour Время начала рабочего дня.
working day end hour Время окончания рабочего дня.
close to working day hours extension Установить время расширения рабочего дня для подсветки часовых поясов.
calendar automatic holidays enabled Автоматически устанавливать статус праздника на основе региона пользователя (примечание: вы можете отключить конкретные автоматические праздники в настройках плагина).
map events title Отображает заголовок бокового календаря событий в зависимости от категории. По умолчанию «Предстоящие события».

Настройки событий

Название Описание
discourse post event enabled Включает функции событий. Примечание: также требуется включение calendar enabled.
discourse post event allowed on groups Группы, которым разрешено создавать события.
displayed invitees limit Ограничивает количество приглашенных, отображаемых на событии.
display post event date on topic title Отображает дату события после заголовка темы.
use local event date Использовать локальную дату после заголовка темы вместо относительного времени.
discourse post event edit notifications time extension Увеличивает (в минутах) период после окончания события, в течение которого приглашенные со статусом going продолжают получать уведомления об изменении в исходном посте.
discourse post event allowed custom fields Позволяет устанавливать значения пользовательских полей для каждого события.
events calendar categories Отображать календарь событий вверху категории.
sort categories by event start date enabled Включить сортировку тем категории по дате начала события.
disable resorting on categories enabled Позволяет категориям отключить возможность сортировки пользователям по событиям в категории.
sidebar show upcoming events Отображать ссылку на предстоящие события в боковой панели в разделе «Ещё». Требуется включение post event enabled.
map events to color Назначает цвет события указанному тегу или категории.

:information_source: :curling_stone: У конечной точки discourse-post-event/events.json теперь есть дополнительный параметр для переключения между простым и подробным ответом. Чтобы получить подробный ответ, добавьте ?include_details=true:

/discourse-post-event/events.json?include_details=true

Трансляции в прямом эфире

Для живых событий используйте функцию трансляции, чтобы участники могли смотреть событие и одновременно участвовать в чате.

Событие трансляции включает:

  • Видеопоток (например, с YouTube)
  • Событие в календаре, созданное через Discourse Calendar and Events
  • Автоматически созданный сопутствующий канал чата для события

Требования для трансляций в прямом эфире

Для использования трансляций в прямом эфире необходимо включить chat enabled, так как трансляция создает канал чата для вашего события, а также должны быть включены discourse post event enabled и calendar enabled.

Настройка трансляции

Есть несколько настроек для конфигурации:

  • livestream enabled: Включите эту опцию, чтобы использовать события трансляции.
  • livestream chat allowed groups: Установите Trust Level 0, чтобы разрешить всем авторизованным пользователям общаться во время события.

Создание события трансляции

Чтобы создать событие трансляции:

  1. Откройте новую тему.
  2. Вставьте ссылку на видео события (например, URL YouTube) в редактор.
  3. Нажмите на значок + в панели инструментов редактора и выберите Создать событие (если событие еще не добавлено в вашу тему), затем обновите его деталями события.
  4. Добавьте тег #livestream в тему.

После этого вы увидите, что событие и трансляция созданы, а также появится сопутствующий канал чата справа.

Как только любой пользователь нажмет Я иду на событии, он автоматически присоединится к каналу чата, что позволит ему участвовать в обсуждении!

Интеграция с другими плагинами

Вы можете использовать компонент этого плагина с Right Sidebar Blocks. Убедитесь, что нужный маршрут включен в компоненте Right Sidebar Blocks. Имя блока будет upcoming-events-list. Исторически в самом плагине Calendar требовались дополнительные настройки, но теперь этот процесс упрощен.

Так календарь в боковой панели будет выглядеть по умолчанию.

Если вы не хотите отображать время, добавьте пустое значение timeFormat в настройках блока компонента.

:discourse2: Размещено нами? Этот плагин доступен на тарифах Business и Enterprise: Calendar | Discourse - Civilized Discussion


  1. categoryId — категория, над которой будет отображаться календарь.
    postId — пост, в который вы вставили календарь с помощью тега [calendar][/calendar] ↩︎

  2. может отображать выбор часового пояса в правом верхнем углу календаря. По умолчанию false, можно включить с tzPicker=true ↩︎

  3. может скрывать субботу и воскресенье из календаря. По умолчанию true. Можно отключить с weekends=false. ↩︎

  4. defaultView устанавливает вид календаря (день, неделя и т. д.). Возможные значения:

    defaultView=agendaDay
    defaultView=agendaWeek
    defaultView=month (по умолчанию)
    defaultView=listNextYear ↩︎

98 лайков
How to use the calendar plugin?
Discourse Calendar - How to?
Calendar plugin, nothing is displayed
Discourse 2.2.0.beta3 Release Notes
How to use the calendar plugin?
Discourse Calendar dislpay link text rather than link url
Ability to mark any post as unread
Is there a room booking plugin?
📅 Event List Widget (Layouts Plugin)
Inserting date/time into new topic's title field (ie, right here > !)
I am looking for a webhook or event api
Db:migrate fails on discourse-calendar
Plugin to show upcoming events on hosted discourse
Moderator/Admin Off Duty Button
Plugin to gather approvals / signatures on an initiative?
Please better document the Discourse Calendar plugin
Vacation autoresponder for users who are away?
Creating sub-communities in a discourse server
Go from a Wordpress + Discourse structure to a Discourse site only?
Add color to events based on event category or tag?
Is there any way to change the starting date of the Calendar?
SEO applied to Discourse Official Plugins
Add color to events based on event category or tag?
Add recurrent items within a date-range
Use Case Question - Room/Equipment Booking
Best practices for communicating to user base
Integrate with Discourse-calendar
My Wiki of useful Meta (and other) links
Quotes in event name clears attendees
Calendar in Discourse
Show Cakeday dates on the Calendar plugin
Agenda de colegio
What are your favorite plugins for your community?
Display a category as a calendar by scheduled Topic-timer dates
Why you should use Discourse internally for your company/team instead of Slack (4 years use case)
Newbie question: Is there a comprehensive guide to configuring and administering Discourse instance?
Angus' Events Plugin :calendar:
When "closing" event it moves it to today's date & time
How to display different calendar views?
Discourse calendar and event iCal integration?
Can the auto-responder fire on @mentions?
Event/Calendar Plugin - Cannot select a user for bulk-invite
Bulk Invite via modal only allowing one user (and not displaying correctly)
Event Creation
500 Error when posting, moment.tz runtime error
Best practice for a topic for a recurring event
How to get "back" btn
Event Chat Channels Now Available
📅 New Calendar Feature: End Date for Recurring Events
🌍 New Calendar Feature: Show Local Time
What livestream/webinar platforms do you use?
Custom Wizard Plugin :mage:
ICS → Discourse Importer
How have you built a local community around Discourse?
Angus' Events Plugin :calendar:
What happens next?
Bundling more popular plugins with Discourse core
Calendar subscription URLs for external calendar apps
Listing event invitees with email addresses
Discourse Daily Challenges
Upcoming Events Extra Buttons and Enhancements
Horizon: High Context Topic Cards
Besoin de renseignement pour informer une annulation d'événement
Current Projects - May 2026
Help us test Horizon, our newest theme
Easily create Events categories using the Calendar and Events plugin
It is very difficult to make events all day in the events modal (and 00:00 is confusing)
Discourse Calendar - How to?
Angus' Events Plugin :calendar:
Topic List Previews (TLP)
New Topic button text does not change to New Event in sidebar in events category in Horizon Theme
It's easier than ever to create events in Discourse!
Category Calendar with defaultView="listNextYear" not showing events
Calendar Core - Needs any special theme?
Creating and managing calendars
Sorting Categories by Title
Creating and managing events
Category Calendar with defaultView="listNextYear" not showing events
The "Save Changes" button is very low on my user preferences interface page
Group Timezones
Easily create Events categories using the Calendar and Events plugin
Available hours / work hours flair
Could use help, setting up new community
Feature request: wrap calendar items when there's just one per day
Right Sidebar Blocks
Custom Discourse instance for a writers club
Unread messages blue numbers appearing in Latest lately (when they shouldn't)?
Database migration chokes on huge value of a "calendar-details" item in table "post_custom_fields"
"Out of office" user indicator
Database migration chokes on huge value of a "calendar-details" item in table "post_custom_fields"
Angus' Events Plugin :calendar:
Angus' Events Plugin :calendar:
Calendar plugin features to make it really useful for us
"Out of office" user indicator
Can discourse display topic replies in reverse order?
Discourse Livestream
New to Discourse, have some questions :)
Expired events with end times are being removed from upcoming-events even with setting set to -1
Setup Continuous Integration using GitHub Actions