| Сводка | Discourse Calendar and Events добавляет динамические и интерактивные функции календаря и событий на ваш сайт Discourse. | |
| Руководство по установке | Этот плагин уже встроен в ядро Discourse. Отдельно устанавливать его не нужно. |
Включение календаря и событий
Плагин «Календарь и события» можно включить либо переключателем, либо через его настройки, оба из которых доступны на странице admin/plugins:
Возможности
Неудивительно, что Discourse Calendar and Events добавляет на ваш сайт Discourse как функции календаря, так и функции событий. С их помощью вы можете создавать индивидуальные календари тем для отслеживания важных дат или сроков, отображать календари в категориях, добавлять календарь праздников для отметки отпусков, отсутствия или больничных, создавать интерактивные темы событий, а также показывать удобный сводный календарь всех ваших предстоящих событий.
Календари
Индивидуальные календари можно создавать в нескольких темах, а те, которым вы хотите придать более высокую видимость, можно отображать над списком тем категории.
Более подробную информацию о том, как создавать и использовать календари, вы можете найти здесь:
События
Функция «Событие» позволяет вставлять интерактивные элементы в темы, которые ваши участники могут использовать для регистрации на участие в мероприятиях вашего сообщества. Все они суммируются в отдельном календаре всего сайта с возможностью добавить ссылку с быстрым доступом в меню навигации. Более подробную информацию о том, как создавать и использовать эту функцию, вы можете найти здесь:
Не следует путать это с плагином 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 | События, для которых не указано время начала, начнутся в это время. Формат ЧЧ:мм. Для 6:00 утра введите 06:00 |
| all day event end time | События, для которых не указано время окончания, закончатся в это время. Формат ЧЧ:мм. Для 6:00 вечера введите 18:00 |
| calendar categories | Отображать календарь в верхней части категории. Обязательные настройки: categoryId и postId. например: categoryId=6;postId=453[1] Другие допустимые настройки: tzPicker[2], weekends[3] и defaultView[4]. |
| calendar categories 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 | Расширяет (в минутах) период после окончания события, в течение которого приглашенные со статусом «идут» все еще получают уведомления об изменениях в исходном посте. |
| 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 | Назначает цвет события указанному тегу или категории |
![]()
В конечной точке
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.
Создание события с прямой трансляцией
Чтобы создать событие с прямой трансляцией:
- Откройте новую тему.
- Выберите значок + на панели инструментов композитора и нажмите Create Event (если событие еще не было добавлено в вашу тему).
- Вставьте ссылку на видео события (например, URL YouTube) в поле местоположения/URL.
- Включите переключатель «прямая трансляция»
Затем вы увидите, что событие и прямая трансляция были созданы, а также сопровождающий чат-канал справа.
Как только любой пользователь нажмет Going на событии, он автоматически присоединится к чат-каналу, что позволит ему участвовать в разговоре!
Прямая трансляция веб-семинаров Zoom
Вы можете использовать прямую трансляцию для проведения веб-семинаров Zoom непосредственно в Discourse, чтобы участники могли смотреть событие и участвовать в сопровождающем чат-канале, не покидая ваше сообщество.
Предварительные требования для веб-семинаров Zoom
В дополнение к предварительным требованиям для прямой трансляции, вам также потребуется настроить следующие параметры:
- Включите
livestream zoom enabled - Введите ключ SDK Zoom Meeting в настройке
livestream zoom sdk key - Введите секрет SDK Zoom Meeting в настройке
livestream zoom sdk secret
Чтобы получить ключ и секрет SDK Zoom Meeting:
-
Перейдите на marketplace.zoom.us, нажмите Develop (Разработка), а затем Build app (Создать приложение).
-
Когда вас спросят, какой тип приложения вы создаете, выберите General App (Общее приложение) и нажмите Create (Создать).
-
На странице App Credentials (Учетные данные приложения) скопируйте Client ID (ID клиента, ключ SDK) и Client Secret (Секрет клиента, секрет SDK).
-
В разделе Embed (Встраивание) включите разрешение Meeting SDK (SDK встреч).
-
В вашем Discourse перейдите в Admin → All site settings (Админ → Все настройки сайта) и введите значения из шага 3 в
livestream zoom sdk keyиlivestream zoom sdk secret.
Чтобы веб-семинар Zoom работал корректно в Discourse:
-
Для присоединения к веб-семинару не должно требоваться регистрация или пароль.
-
Отключите встроенный чат веб-семинара Zoom, чтобы убедиться, что все обсуждения происходят в одном чат-канале Discourse, сохраняя весь чат в одном месте и гарантируя, что разговор может продолжаться после окончания веб-семинара.
Создание события с прямой трансляцией веб-семинара Zoom
Чтобы создать событие с прямой трансляцией для вашего веб-семинара Zoom:
- Откройте новую тему, выберите значок + и нажмите Create Event (Создать событие).
- Вставьте ссылку на ваш веб-семинар Zoom (например,
https://zoom.us/``...) в поле URL/Location (URL/Местоположение). - Включите переключатель Livestream (Прямая трансляция).
- Установите имя события, время начала, время окончания и другие детали события по желанию.
- Опубликуйте тему.
Как и другие события с прямой трансляцией, это событие будет создано с сопровождающим чат-каналом Discourse, к которому участники автоматически присоединятся после подтверждения участия как «Going» (Иду).
Опыт участников
Вот как ваши участники будут воспринимать веб-семинар:
До события
Кнопка Join Zoom (Присоединиться к Zoom) отображается за 30 минут до начала события. Вне этого окна кнопка отключена с сообщением о том, когда она станет доступной.
Во время события
Как только участники нажимают Join Zoom (Присоединиться к Zoom), веб-семинар загрузится на страницу темы (или, если организатор еще не начал событие, участнику придется подождать, пока он это сделает, чтобы увидеть видео).
Аудиосоединение не устанавливается автоматически при присоединении к веб-семинару; участникам нужно нажать или коснуться значка аудио на панели инструментов Zoom, чтобы подключиться. Это ограничение SDK Zoom, и его нельзя изменить.
На мобильных устройствах веб-семинар открывается в полноэкранном виде Zoom (который также доступен на настольных компьютерах путем добавления /zoom в конец URL темы события) с плавающей кнопкой Chat (Чат), на которую можно нажать, чтобы открыть панель наложения чата во время события.
После события
Кнопка Join Zoom (Присоединиться к Zoom) скрывается через 10 минут после времени окончания события. Чат-канал остается доступным для участников, пока вы его не закроете.
Интеграция с другими плагинами
Вы можете использовать компонент из этого плагина с Right Sidebar Blocks. Вам нужно убедиться, что желаемый маршрут включен в компонент Right Sidebar Blocks. Имя блока будет upcoming-events-list. Исторически в самом плагине Календаря требовались дополнительные настройки, но это было упрощено.
Вот как будет выглядеть календарь боковой панели по умолчанию.
Если вы не хотите отображать время, вы можете добавить пустое значение timeFormat в настройке блока компонента.
Хостинг у нас? Этот плагин доступен на наших тарифных планах Business и Enterprise Calendar | Discourse - Civilized Discussion
categoryId — это категория, над которой будет отображаться календарь.
postId — это пост, в котором вы разместили календарь с помощью [calendar][/calendar] ↩︎можно отобразить выбор часового пояса в правом верхнем углу календаря. По умолчанию false, можно включить с помощью tzPicker=true ↩︎
можно скрыть субботу и воскресенье из календаря. По умолчанию true. Можно установить false с помощью weekends=false. ↩︎
defaultView установит вид календаря (день, неделя и т. д.). Можно установить как:
defaultView=agendaDay
defaultView=agendaWeek
defaultView=month (по умолчанию)
defaultView=listNextYear ↩︎


















