При создании базы знаний на 1С-Битрикс мы сталкиваемся с задачей выбора подходящей архитектуры. Наш опыт более 7 лет и более 50 реализованных проектов показывает: оптимальное решение зависит от объёма контента, требуемой иерархии и необходимости версионирования. В этой статье разберём, как настроить базу знаний, используя либо модуль learning, либо инфоблоки, и как обеспечить бесшовную навигацию и поиск. Если вам нужна готовая база знаний под ключ — свяжитесь с нами для оценки вашего проекта.
Как выбрать между модулем learning и инфоблоками?
Модуль bitrix:learning изначально создан для онлайн-курсов, но его можно адаптировать под базу знаний. Он даёт готовую иерархию (курс → урок), встроенный поиск и права доступа. Минус — жёсткая структура и устаревший интерфейс администрирования.
Инфоблоки гибче. Создаёте инфоблок knowledge_base с вложенными разделами на 3-4 уровня: Продукт → Категория → Тема → Статья. Разделы b_iblock_section поддерживают неограниченную глубину вложенности через поле IBLOCK_SECTION_ID. Для базы знаний с сотнями статей это оптимально.
| Параметр | Модуль learning | Инфоблоки |
|---|---|---|
| Иерархия | Фиксированная (курс-урок) | Произвольная, до N уровней |
| Гибкость структуры | Низкая | Высокая (в 3 раза выше) |
| Встроенный поиск | Есть | Требуется настройка |
| Версионирование | Отсутствует | Встроенное (включается в настройках) |
| Права доступа | На курс/урок | На разделы и элементы |
| Подходит для | Небольших баз (до 50 статей) | Больших баз с разделами и подразделами |
Как настроить иерархическую навигацию?
Навигация — критичная часть базы знаний. Пользователь должен понимать, где он находится, и быстро переходить к соседним статьям.
Для хлебных крошек Битрикс умеет строить путь автоматически через CIBlockSection::GetNavChain(). В компоненте детального просмотра bitrix:news.detail хлебные крошки добавляются через $APPLICATION->SetTitle() и $APPLICATION->AddChainItem() прямо в template.php.
Боковая навигация с деревом разделов — через bitrix:menu с режимом bitrix:menu.sections или через кастомную выборку CIBlockSection::GetList() с параметрами SECTION_ID текущего раздела. Для дерева на 3+ уровней используйте рекурсивный вывод или готовый класс CIBlockSectionTree. Гарантируем, что навигация будет работать корректно даже при 10 000 статей.
Что даёт полнотекстовый поиск?
Стандартный поиск Битрикса через модуль search хорошо работает для базы знаний. Настройки индексирования: в параметрах инфоблока установите USE_SEARCH = Y, укажите поля для индексации (название + детальный текст). Переиндексация запускается через /bitrix/admin/search_reindex.php.
Для фасетного поиска по тегам и разделам — комбинируйте bitrix:search.page с GET-параметрами фильтрации. Компонент bitrix:search.page принимает параметр arrFILTER_iblock_id для ограничения поиска по конкретному инфоблоку.
Если стандартного поиска не хватает (много статей, нужен поиск с учётом морфологии), рассмотрите интеграцию со Sphinx или Elasticsearch через события OnSearchIndex и OnSearchReindex. Это требует дополнительной инфраструктуры, но даёт качественно иной поиск со скоростью ответа менее 0.1 секунды.
Контроль версий и права доступа
Для внутренней базы знаний с несколькими редакторами нужна история изменений статей. Модуль main Битрикса имеет встроенное версионирование для инфоблоков — включается в настройках инфоблока (VERSIONING = Y). История хранится в таблице b_iblock_element_version. При включённом версионировании каждое сохранение элемента создаёт запись в истории. Редактор может откатиться к предыдущей версии через административный интерфейс. Для нагруженных баз знаний с частыми правками настройте ограничение хранимых версий — по умолчанию хранятся все, что раздувает таблицу. Рекомендуем хранить не более 20 последних версий.
Права доступа к разделам настраиваются через CIBlock::SetPermission() на уровне групп пользователей. Приватные разделы требуют проверки в компоненте — стандартные компоненты bitrix:news.* уважают права инфоблока автоматически. Если нужно разграничить доступ к отдельным статьям внутри раздела, используйте свойства элемента с настройкой прав через CIBlockElement::SetPermission().
Процесс работы
- Анализ контента и структурирование — 2–3 дня.
- Выбор архитектуры (learning или инфоблоки) — 1 день.
- Создание инфоблоков, настройка свойств и разделов — 2–4 дня.
- Настройка навигации и поиска — 2–3 дня.
- Контроль версий и права доступа — 1–2 дня.
- Импорт контента и тестирование — 3–5 дней.
- Деплой и обучение редакторов — 1–2 дня.
Что входит в работу
- Подбор архитектуры базы знаний с учётом ваших задач.
- Создание инфоблоков, свойств, разделов и пользовательских полей.
- Настройка компонентов навигации (хлебные крошки, дерево разделов).
- Интеграция полнотекстового поиска и фасетной фильтрации.
- Включение версионирования и настройка прав доступа.
- Импорт существующего контента (Excel, CSV, Word).
- Документация и обучение редакторов.
- Гарантийная поддержка 30 дней.
Сроки и примеры
Средний проект базы знаний на 100–300 статей занимает от 7 до 14 рабочих дней под ключ. Стоимость рассчитывается индивидуально, зависит от сложности структуры и необходимости интеграций. За 7+ лет мы реализовали более 50 баз знаний для компаний из сферы IT, ритейла и производства. Получите консультацию — мы оценим ваш проект за 1 день.
Обратитесь к нам, чтобы настроить базу знаний, которая будет удобна и сотрудникам, и клиентам.
Пример структуры базы знаний
- Продукт
- Категория A
- Тема 1
- Статья 1
- Статья 2
- Тема 2
- Тема 1
- Категория B
- Тема 3
- Категория A







