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

**URL:** https://meta.discourse.org/t/creating-and-managing-calendars/283773
**Category:** Using Discourse
**Tags:** events, how-to
**Created:** [28.Октябрь.2023 16:45:14 UTC](https://meta.discourse.org/t/creating-and-managing-calendars/283773 "2023-10-28T16:45:14Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![Discourse](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/discourse/32/148734_2.png) [@Discourse](https://meta.discourse.org/u/Discourse)
#### Post date: [28.Октябрь.2023 16:45:15 UTC](https://meta.discourse.org/t/creating-and-managing-calendars/283773/1 "2023-10-28T16:45:15Z")

</div>

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

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

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

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

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

Прежде чем создавать календари, убедитесь, что плагин «Calendar (and Event)» включен в вашем экземпляре Discourse. Для получения дополнительных сведений о включении плагина и связанных с ним настройках обратитесь к [документации по плагину Discourse Calendar and Event](https://meta.discourse.org/t/discourse-calendar-and-event/97376).

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

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

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

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

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

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

 ![Настройка календаря в теме](https://global.discourse-cdn.com/meta/original/4X/0/6/4/0640e9ffc522c68bcb8beb412fd03060a537d5aa.png)  
 ![Календарь в теме](https://global.discourse-cdn.com/meta/original/4X/1/7/2/172b99f9a44cddfb7b3528f593bed2c28a8323cc.png)

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

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

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

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

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

3. Добавьте ID категории в настройку «events calendar categories».

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

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

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

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

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

 ![Изображение](https://global.discourse-cdn.com/meta/original/4X/0/a/f/0af83286f0e9efac93ce82bd28b50b1ea0538339.png)

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

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

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

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

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

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

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

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

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

```plaintext
[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. Рядом с именами пользователей, находящихся в отпуске, в карточках пользователей и при упоминаниях @ появляется эмодзи (по умолчанию: 📅).
7. При желании включите «calendar automatic holidays enabled», чтобы добавить праздники, специфичные для локалей пользователей.

 ![Праздничный календарь](https://global.discourse-cdn.com/meta/original/4X/f/c/8/fc8a589e9f2a91ffbbc7a4a680d8b42ae7d2d29d.png)

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

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

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

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

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

- [Discourse Calendar (and Event)](https://meta.discourse.org/t/discourse-calendar-and-event/97376?silent=true)
- [Creating and managing events](https://meta.discourse.org/t/creating-and-managing-events/149964?silent=true)

---

_[View the full topic](https://meta.discourse.org/t/creating-and-managing-calendars/283773)._
