Папка /local
Тему урока можно изучить в новом формате — в документации по Bitrix Framework. В ней улучшена структура, описание, примеры.
Папка для своих доработок
Чтобы сделать жизнь разработчиков проектов удобнее, в ядре D7 с версии главного модуля 14.0.1 основные файлы пользовательских проектов вынесены из папки /bitrix в папку /local. Это позволяет изолировать изменяющиеся файлы вашего проекта от папки продукта. По сути, в исключения достаточно будет добавить одну папку /bitrix.
Какие папки обрабатываются в /local?
- activities — действия бизнес-процессов
- components — компоненты
- gadgets — гаджеты рабочего стола
- modules — модули
- php_interface — файлы init.php и dbconn.php
С версии 24.100.0 главного модуля. , папка user_lang - templates — шаблоны сайтов, шаблоны компонентов, шаблоны страниц - blocks — блоки Сайтов24 - routes — файлы с конфигурацией маршрутов роутинга - js — скрипты для собственных решений
С версии 24.100.0 главного модуля в папке /local могут быть размещены файлы настроек параметров ядра .settings.php и .settings_extra.php.
При обработке папок приоритет всегда у папки /local перед /bitrix. Это означает, что если в /local/templates/ и /bitrix/templates/ будут находиться шаблоны сайта с одинаковым названием, то подключится шаблон из /local.
Примечание: не рекомендуется копировать сущности с одинаковыми именами в обе папки. Более правильное решение — перенести сущности из одной папки в другую. При копировании система все равно будет корректно работать, но велика вероятность путаницы в работе разработчиков.
Внимание! В целях безопасности проекта необходимо задать права доступа к папке /local/php_interface/ аналогичные правам доступа к папке /bitrix/php_interface/.
Перенос проекта
Как старый проект перенести в папку /local.
Вам достался старый и запущенный проект. Кто когда и как вносил правки - неизвестно, куда вносились правки - неизвестно. Вам нужно навести в нём порядок.
- Для начала следует воспользоваться Монитором качества
Монитор качества - инструмент для проверки качества выполненного проекта перед сдачей его заказчику.
Подробнее...
в нём есть проверка на модификацию файлов ядра. Этот тест поможет определить какие файлы были изменены.
2. Далее создаете папку /local, в ней не создаете файл /local/php_interface/
init
init.php - необязательный файл в рамках структуры файлов Bitrix Framework. Он автоматически подключается в прологе.
Подробнее...
.php, а лишь /local/php_interface/constants.php, /local/php_interface/events.php, автолоадер для своих классов и так далее, и эти файлы подключаете в /bitrix/php_interface/init.php.
3. В /local/templates/.default постепенно начинаете перенос ваши измененных шаблонов, при этом действовать нужно так: копируете в локал с другим названием, работаете с тестовой страницей (если тестового сервера нет). Потом заменяете название и из папки вашегo шаблона удаляете (или переименовываете) старый шаблон. Таким образом новый шаблон (чистый и готовый к использованию) постепенно будет собираться в local. Как только все шаблоны и компоненты перенесены в /local, init.php тоже можно будет перенести.
4. С компонентами иначе - если это ваши родные компоненты, то их можно перенести и так (ничего от этого не изменится). Измененные штатные компоненты нужно копировать сначала из ядра, а потом уже сравнивать изменения и вносить правки.
5. В шаблонах и компонентах нужно заменять прямые ссылки на /bitrix/templates/** , /bitrix/components/** и заменять на /local/**. Также внимательно проверяем и модули, если есть необходимость и их переносить.
Сколько времени уйдёт на этот процесс сказать невозможно. Всё зависит от степени "запущенности". Но опыт разработчиков, выполнявших эти действия, говорит о нескольких неделях работы.