Введение

Ядро продукта эволюционировало многие годы и как любой другой инструмент со временем устаревает и изменяется. Для 2000-х годов использование разделенной логики монолитного приложения было распространенной практикой и это использовалось повсеместно, однако реальности 2010-х годов и массовое распространение систем контроля версий привели к тому, что жизнь разработчиков на платформе стала невыносимой.

Для облегчения этой задачи вендор предоставил необходимый инструмент - папку local, которым сейчас является фактически стандартном в разработке. Благодаря новому ядру D7 с версии главного модуля 14.0.1 основные файлы проекта могут быть вынесены из директории /bitrix в директорию /local. Это необходимо для изоляции изменяющиеся файлы проекта от файлов продукта.

Стандарт

Мы строго рекомендуем использовать исключительно директорию /local для своих разработок и никогда (без крайней необходимости) не использовать и не вносить изменения в любой файл находящийся в папке /bitrix. Исключением из этого правила могут быть лишь в двух случаях - реализация модуля и техническая невозможность альтернативного решения (так же как и высокая цена за корректное решение).

При обработке поддерживаемых директорий (см.далее) приоритет всегда у директории /local перед /bitrix.

Это означает, что если в /local/templates/ и /bitrix/templates/ будут находиться шаблоны сайта с одинаковым названием, то подключится шаблон из /local.

Поддерживаемые директории

Список поддерживаемых директорий и файлов внутри /local:

  • /activities - действия бизнес-процесса;
  • /blocks - блоки для сайтов24;
  • /components - компоненты;
  • /gadgets - гаджеты рабочего стола;
  • /js - js-расширения;
  • /modules - модули;
  • /php_interface - внутренние классы;
  • /templates - шаблоны сайтов;

Мы настоятельно не рекомендуем размещать какие-либо другие директории в этом месте (за исключением директории tools с техническими устаревшими скриптами). Ни директория vendor ни файлы composer.json не должны находиться здесь - их место внутри php_interface