Способы доработки тиражки

Традиционной подход

Изменения вносятся:

  • В шаблон сайта в /bitrix/templates/
  • В компоненты внутри /bitrix/components/citrus/

Чем плох?

Нет возможности установить обновление тиражки с исправлниями и новыми функциями.

Для обновления файлов публичной части и файлов шаблона сайта требуется повторый запуск Мастера установки, а он перезаписывает все файлы публички и/или шаблона. Конечно, при этом теряются все дорабокти в них.

Вносить изменения в компоненты модуля в /bitrix/components/citrus в корне неправильно! Эти файлы будут перезаписаны после установки обновлений модуля на странице Marketplace — Обновление решений.

Использовать в тиражках другое пространство имен нет возможности: по требованиям Marketplace оно должно совпадать с кодом партнера (у нас — citrus).

Какие есть варианты?

Папку /bitrix лучше вообще не трогать: все доработки вносить в /local и только в те файлы шаблона или компоненты, которые неоходимо изменить.

1. Вообще не менять файлы в /bitrix/components/citrus и типовом шаблоне сайта

Как ни странно, вполне жизнеспособный вариант. Для своих решений всегда можно внести изменения и в шаблон, и в стандартные компоненты, выпустив их при этом в обновлениях модуля для всех клиентов. Можно договориться, и добавить способ кастомизации без изменения стандартных файлов (пример).

2. Работать только в /local

При этом в /local может оказаться не так уж много измененных файлов, и повторить в них изменения из /bitrix, прилетевшие с обновлением будет не сложно.

3. Держать модуль тиражки в системе контроля версий

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

Это, наверное, самый простой, и в то же время самый затратный по времени способ. Придется скурпулёзно объединять изменения по доработкам и изменения, прилетевшие в новой версии.

4. Самый надежный способ

  • Требует определенной подготовки проекта и неплохих навыков работы с git.
  • Проект должен находиться в системе контроля версий с самого начала — еще до каких-либо изменений
  • Потребуется две ветки:
    • текущая типовая версия тиражки (вообще без доработок),
    • ветка проекта со всеми доработками.

Для установки достаточно будет:

  1. Переключиться на типовую ветку
  2. Установить обновления модуля тиражки
  3. Запустить мастер с перезаписью файлов публичной части
  4. Закоммитить изменения в типовую ветку
  5. Переключиться на ветку проекта и слить в неё изменения из типовой ветки
Последнее обновление: 9/20/2023, 6:04:42 AM