Налаштування форуму на 1С-Bitrix
Модуль форуму (forum) у Bitrix — повноцінна система обговорень з іерархією: форум → тема → повідомлення. Дані зберігаються в таблицях 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 (Техпідтримка) використовує форум для обговорення звернень. Повідомлення тикета зберігаються як повідомлення форуму.
Форум + Bitrix24 — в коробочному Bitrix24 форум використовується для коментарів до завдань й у живій стрічці. Це внутрішнє використання, недоступне для прямої налаштування.
Захист від спаму
Форум без захисту буде заповнений спамом за дні. Заходи:
- CAPTCHA — включається в налаштуваннях модуля. Показується неавторизованим користувачам (або всім) при створенні теми й відповіді.
-
Передмодерація для нових користувачів — перші N повідомлень проходять через модератора. Реалізується через обробник
OnBeforeMessageAddз перевіркою кількості повідомлень автора. - Стоп-слова — фільтр нецензурних виразів й спам-фраз. Налаштовується в Налаштування → Налаштування модулів → Форум → Стоп-слова.
- Бан за IP — вбудована функція модуля, доступна модераторам.
Продуктивність
Форум з десятками тисяч тем і сотнями тисяч повідомлень може тормозити. Основні точки:
- Індекси в
b_forum_messageза полямиTOPIC_ID,AUTHOR_ID,POST_DATE— перевіряємо наявність. - Кешування списку форумів й списку тем — параметр
CACHE_TIMEв компонентах. - Постранічна навігація — Bitrix використовує
LIMIT/OFFSET, що повільно на великих таблицях. Для форумів з 1M+ повідомлень розглянути keyset-пагінацію через кастомізацію компонента.







