Перейти к содержимому

Свой модуль в 1С-Битрикс - структура, установка, обновления

Свой модуль - способ упаковать код проекта так, чтобы он ставился, обновлялся и удалялся целиком. Здесь собраны решения по этой задаче.

Что общего у этих задач

Модуль - это каталог с известной структурой. Платформа ждёт файл подключения, класс установки и каталог классов, а всё остальное - на усмотрение автора. Отсюда первое следствие: модуль без класса установки не появится в списке.

Код проекта живёт в каталоге local. Там же лежат свои модули, и это единственное место, которое переживает обновление платформы без правок. Файлы рядом со штатными модулями возвращаются к исходному виду при первом обновлении.

Настройки модуля хранятся отдельно от кода. Их пишут в настройки платформы по идентификатору модуля, а не в файлы, иначе выкладка новой версии затирает значения, выставленные на боевом сайте.

Модуль обещает поддержку на годы. Он ставится, обновляется и снимается, и каждый из этих сценариев придётся однажды пройти на живом проекте.

Решения подтемы

Частые вопросы

Зачем оформлять код модулем, если можно положить в init.php?

Модуль ставится и удаляется целиком, знает свою версию и умеет обновляться. Файл с обработчиками растёт до тысяч строк и не переносится на другой проект.

Обязателен ли класс установки?

Да, без него модуль не появится в списке и не поставится. Он же отвечает за создание таблиц и регистрацию обработчиков.

Где держать классы модуля?

В каталоге классов с именами по правилу автозагрузки. Тогда подключать файлы вручную не нужно.

Что будет с данными при удалении модуля?

Удаляется то, что удаляет его класс удаления. Хорошая практика - спрашивать, сносить ли таблицы, а не сносить их молча.

Связанные темы

Первоисточники