Настройка форума на 1С-Битрикс
Модуль форума (forum) в Битрикс — полноценная система обсуждений с иерархией: форум → тема → сообщение. Данные хранятся в таблицах b_forum, b_forum_topic, b_forum_message. Модуль поддерживает модерацию, файловые вложения, голосования, подписки на темы. Несмотря на возраст, он остаётся рабочим инструментом для техподдержки, внутренних обсуждений и пользовательских сообществ.
Создание и базовая настройка
Форум создаётся в разделе Сервисы → Форумы → Список форумов. Основные параметры:
- Название — отображается в списке форумов.
- Символьный код — используется в URL при ЧПУ.
- Привязка к сайту — форум может быть привязан к нескольким сайтам в мультисайтовой конфигурации.
- Порядок сортировки тем — по дате последнего сообщения (стандарт) или по дате создания.
- Модерация — предмодерация (сообщения проверяются до публикации) или постмодерация (публикуются сразу, модератор удаляет нарушения).
- Разрешить вложения — типы файлов и максимальный размер задаются в настройках модуля Настройки → Настройки модулей → Форум.
Компоненты публичной части
Для вывода форума используется комплексный компонент bitrix:forum или набор простых:
-
forum.index— список всех форумов с количеством тем и сообщений. -
forum.topic.list— список тем конкретного форума. -
forum.topic.read— просмотр темы с сообщениями. -
forum.topic.new— форма создания новой темы. -
forum.message.send— форма ответа в теме.
Комплексный компонент bitrix:forum объединяет всё в один вызов с маршрутизацией по URL. Параметры:
-
FID— ID форума. -
URL_TEMPLATES_*— шаблоны URL для списка тем, просмотра темы, профиля пользователя. -
MESSAGES_PER_PAGE— сообщений на странице (20-50 — разумный диапазон). -
TOPICS_PER_PAGE— тем на странице.
ЧПУ форума настраивается через правила urlrewrite.php. Типичная структура: /forum/ — список форумов, /forum/topic/{TOPIC_ID}/ — тема.
Права доступа
Права форума назначаются по группам пользователей. Уровни:
| Право | Описание |
|---|---|
| A | Нет доступа |
| E | Чтение |
| I | Создание тем |
| M | Ответ в темах |
| Q | Модерация |
| U | Администрирование |
Назначаются в настройках каждого форума, вкладка «Права доступа». Группа «Все пользователи (в т.ч. неавторизованные)» — E (только чтение). Авторизованные — M (ответ). Модераторы — Q.
Отдельная настройка: разрешение анонимных сообщений. По умолчанию отключено. Включается через параметр ALLOW_ANONYMOUS в настройках модуля. Для публичных форумов с низким порогом входа может быть полезно, но увеличивает объём модерации.
Интеграция с другими модулями
Форум + инфоблок — комментарии к статьям блога или товарам каталога через форум. Компонент bitrix:forum.comments встраивается в шаблон news.detail или catalog.element. Параметр FORUM_ID указывает, в каком форуме хранятся комментарии. Для каждого элемента автоматически создаётся тема.
Форум + техподдержка — модуль support (Техподдержка) использует форум для обсуждения обращений. Сообщения тикета хранятся как сообщения форума.
Форум + Битрикс24 — в коробочном Битрикс24 форум используется для комментариев к задачам и в живой ленте. Это внутреннее использование, недоступное для прямой настройки.
Защита от спама
Форум без защиты будет заполнен спамом за дни. Меры:
- CAPTCHA — включается в настройках модуля. Показывается неавторизованным пользователям (или всем) при создании темы и ответе.
-
Предмодерация для новых пользователей — первые N сообщений проходят через модератора. Реализуется через обработчик
OnBeforeMessageAddс проверкой количества сообщений автора. - Стоп-слова — фильтр нецензурных выражений и спам-фраз. Настраивается в Настройки → Настройки модулей → Форум → Стоп-слова.
- Бан по IP — встроенная функция модуля, доступна модераторам.
Производительность
Форум с десятками тысяч тем и сотнями тысяч сообщений может тормозить. Основные точки:
- Индексы в
b_forum_messageпо полямTOPIC_ID,AUTHOR_ID,POST_DATE— проверяем наличие. - Кэширование списка форумов и списка тем — параметр
CACHE_TIMEв компонентах. - Постраничная навигация — Битрикс использует
LIMIT/OFFSET, что медленно на больших таблицах. Для форумов с 1M+ сообщений рассмотреть keyset-пагинацию через кастомизацию компонента.







