Структура модулей в 1C-Битрикс: разбор с примерами

Структура модулей в 1C-Битрикс: разбор с примерами
12 сентября 2025
2 мин.
334
1
28 сентября 2025

Модули в Битрикс — это надстройки над ядром, которые позволяют расширять функционал системы. Если компонент решает локальную задачу (например, вывод списка новостей), то модуль может добавлять целые подсистемы: API, сервисы, интеграции с внешними системами, админские страницы и т.п.

По сути, модуль — это «пакет» с кодом, который можно установить, обновить или удалить через административную часть Битрикс. Разберём его структуру.

Где лежат модули

  • /bitrix/modules/ — системные и сторонние модули из маркетплейса.
  • /local/modules/ — кастомные модули.

👉 Всегда размещайте собственные разработки в /local/modules/ — это обезопасит от затирания кода при обновлениях.

Общая структура модуля

Пример дерева папки:

/local/modules/
└── vendor.module/
    ├── admin/
    ├── classes/
    │   └── general/
    ├── install/
    │   ├── components/
    │   ├── db/
    │   ├── events/
    │   ├── files/
    │   ├── step.php
    │   ├── uninstall.php
    │   └── version.php
    ├── lang/
    │   └── ru/
    ├── lib/
    ├── options.php
    ├── include.php
    └── default_option.php

Основные папки и файлы

1. include.php

  • Назначение: точка входа модуля. Здесь подключаются классы, функции и т.д.
  • Обязательность: обязателен для любого модуля.

2. install/

  • Назначение: содержит файлы для установки и удаления модуля.
  • Что внутри:
    • install.php — сценарий установки (создание таблиц, регистрация событий).
    • uninstall.php — сценарий удаления.
    • version.php — версия модуля.
    • step.php — пошаговый установщик (если нужен мастер установки).
    • db/ — SQL-скрипты для создания/удаления таблиц.
    • components/ и files/ — если вместе с модулем ставятся компоненты или файлы.

3. classes/ и lib/

  • Назначение: хранят бизнес-логику.
  • Разница:
    • classes/general/ — старый подход.
    • lib/ — современный D7-подход с автозагрузкой через неймспейсы.

👉 Рекомендуется использовать lib/.

4. admin/

  • Назначение: скрипты для административного интерфейса (страницы в админке).
  • Пример: собственный список элементов, отдельные формы управления.

5. options.php

  • Назначение: страница настроек модуля в административной панели.
  • Пример: поля для API-ключей, галочки включения/выключения функций.

6. default_option.php

  • Назначение: значения параметров по умолчанию. Загружаются при установке модуля.

7. lang/

  • Назначение: языковые файлы для локализации (сообщения, подписи, тексты ошибок).
  • Структура: аналогична компонентам — подпапки ru/, en/ и т.д.

Жизненный цикл модуля

  • — через админку запускается install.php. Создаются таблицы, регистрируются обработчики событий, копируются файлы.
  • Работа — подключается include.php, модули становятся доступны в коде через Loader::includeModule('vendor.module').
  • Удаление — выполняется uninstall.php, очищаются таблицы, снимаются события.

Рекомендации по разработке

  • Используйте D7-подход и папку lib/ вместо устаревших classes/.
  • Всегда прописывайте версию в version.php — это нужно для обновлений.
  • Настраивайте options.php, чтобы админы могли менять параметры модуля без правки кода.
  • Не смешивайте бизнес-логику и шаблоны — выносите всё в отдельные классы.
  • Храните свои модули в /local/modules/, а не в /bitrix/modules/.
  • Локализуйте текстовые строки — пригодится при разработке многоязычных проектов.

Источник для углубления: документация Битрикс

🔥 В итоге модуль — это не просто набор файлов, а полноценное расширение платформы. Если компоненты нужны «для вывода», то модули — для «архитектуры и логики».