> ## Documentation Index
> Fetch the complete documentation index at: https://faq.exode.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Каталог курсов

> Как выглядит витрина каталога, обложка, группировка по тегам и фильтры курсов

Каталог — это витрина школы, где посетители видят доступные курсы. Внешний вид каталога (обложка и группировка) настраивается в `Настройки → Настройки блоков` (`/manage/school/settings/blocks`), а сам список курсов формируется из опубликованных курсов школы.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/exode-faq/images/online-schools/school-setup/catalog.png" alt="Витрина каталога школы" />

## Из чего состоит витрина

| Блок                             | Что показывает                                         |
| -------------------------------- | ------------------------------------------------------ |
| Обложка (`SchoolHeaderView`)     | Заголовок, подзаголовок и фон в верхней части каталога |
| Вкладки-группировки              | Переключение курсов по тегам (см. ниже)                |
| Сетка курсов (`CoursesGridView`) | Карточки курсов школы                                  |

<Note>
  На маркетплейс-версии продукта вместо обложки школы отображается общая шапка маркетплейса (`MarketplaceHeaderView`).
</Note>

## Обложка каталога

В блоке «Обложка каталога» задаются:

| Поле         | Назначение                               |
| ------------ | ---------------------------------------- |
| Заголовок    | Крупный заголовок в шапке каталога       |
| Подзаголовок | Пояснительный текст под заголовком       |
| Фон          | Режим фона обложки: цвет или изображение |

Режим фона переключается сегментированным контролом «Цвет / Изображение».

## Группировка по тегам

Каталог можно разбить на вкладки по тегам курсов (`SchoolCatalogTagTabsView`). Вкладки формируются из настройки группировки каталога:

| Настройка                    | Поведение                                                 |
| ---------------------------- | --------------------------------------------------------- |
| Вкладка «Все» (`showAllTab`) | Показывает дополнительную первую вкладку со всеми курсами |
| Вкладки-группы (`groupTabs`) | Список тегов, каждый становится отдельной вкладкой        |

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

## Фильтрация курсов

Список курсов фильтруется через параметры URL (`useCatalogCourseFilter`). Базовый набор фильтров (`defaultFilter`):

| Фильтр           | Поле                                     | Описание                                                                 |
| ---------------- | ---------------------------------------- | ------------------------------------------------------------------------ |
| Поиск            | `search`                                 | Поиск по названию курса                                                  |
| Теги             | `tags`                                   | Фильтр по тегам (вкладки каталога)                                       |
| Категории        | `categoryIds`                            | Фильтр по категориям контента                                            |
| Типы курсов      | `types` (`CourseType`)                   | Ограничение по типу курса                                                |
| Участие          | `participation`                          | По умолчанию `NotParticipant` — курсы, где пользователь ещё не участвует |
| Показ в каталоге | `product.showInCatalog`                  | Только курсы, помеченные к показу в каталоге                             |
| Валюты           | `product.currencies` (`ProductCurrency`) | Фильтр по валюте продукта                                                |

Курсы сортируются по порядку и дате публикации, выдача постраничная (по 51 карточке на страницу).

<Tip>
  Чтобы курс появился в каталоге для посетителей, он должен быть опубликован и помечен к показу в каталоге (`showInCatalog`). Управление этим — в настройках самого курса.
</Tip>

<Note>
  Владельцу школы в каталоге дополнительно доступен баннер создания курса (`CreateCourseBannerView`) — он виден только в режиме управления и не отображается обычным посетителям.
</Note>
