Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Directory Structure: Руководство разработчика». Вы узнаете экспертные методики работы с запросов и научитесь избегать типичных ошибок начинающих разработчиков.
—
title: Структура директорий
—
Проекты на Bitrix Framework имеют четкую структуру директорий, которая разделяет системные файлы, пользовательские разработки и загружаемый контент. Это позволяет:
- не изменять ядро при правках сайта,
- обновлять систему без риска повредить дизайн,
- гибко настраивать внешний вид.
Основные папки и файлы структуры:
-
/bitrix/— системные файлы,
-
/local/— пользовательские разработки,
-
/upload/— загружаемые файлы,
-
/index.php— главная страница сайта.
Дополнительно создаются публичные страницы, структура которых зависит от выбранного решения.
Папка /bitrix
Все системные файлы находятся в папке /bitrix/.
Некоторые папки могут отсутствовать или добавляться модулями — это зависит от редакции продукта.
Основные системные каталоги и файлы
-
/activities/— действия для бизнес-процессов.
-
/admin/— административные скрипты.
-
/components/— системные и пользовательские компоненты.
-
/css/— общие стили модулей.
-
/gadgets/— гаджеты.
-
/js/— JavaScript-файлы.
-
/modules/— модули системы. У каждого модуля своя структура.
-
/php_interface/— служебные файлы:
-
init.php— подключение пользовательских обработчиков событий.
-
after_connect.php— скрипт, который выполняется после подключения к БД в старом ядре.
-
after_connect_d7.php— скрипт, который выполняется после подключения к БД в ядре D7.
-
dbconn_error.php— обработчик ошибок подключения.
-
dbquery_error.php— обработчик ошибок SQL-запросов.
-
/<ID сайта>/init.php— подключение пользовательских обработчиков событий для конкретного сайта. Подключается после определенияSITE_ID.
-
.settings.phpи.settings_extra.php— настройки ядра.
-
header.php— стандартные шапка сайта.
-
footer.php— стандартный подвал сайта.
-
license_key.php— лицензионный ключ.
-
.access.php— права доступа. Генерируется автоматически.
-
spread.php— файл Главного модуля для переноса cookies посетителя на дополнительные домены различных сайтов.
-
routing_index.php— входная точка роутинга.
-
virtual_file_system.php— поддержка кириллицы в системе.
Кеш
-
/cache/— кешированные данные.
-
/stack_cache/— кеш с вытеснением.
-
/managed_cache/— управляемый кеш.
Дизайн и шаблоны
-
/templates/— шаблоны сайтов и компонентов:
-
/.default/— файлы шаблона по умолчанию.
-
/<ID шаблона>/— кастомизированный шаблон:
-
/components/— шаблоны компонентов.
-
/lang/— языковые файлы.
-
/images/— изображения шаблона.
-
/page_templates/— шаблоны страниц. Описание в.content.php.
-
header.php— шапка сайта.
-
footer.php— подвал сайта.
-
template_styles.css— основные стили.
-
styles.css— стили для визуального редактора.
-
/themes/— темы административного раздела.
Папка /local
Доработки рекомендуется хранить в папке /local/:
- чтобы отделить пользовательские файлы от системных,
- упростить обновления и резервное копирование,
- снизить риск повреждения ядра.
Если папка /local/ отсутствует в структуре проекта, создайте ее.
Что можно хранить
-
/activities/— действия бизнес-процессов.
-
/components/— компоненты.
-
/gadgets/— гаджеты рабочего стола.
-
/modules/— пользовательские модули.
-
/php_interface/— файл инициализацииinit.phpи языковые файлыuser_lang.
-
/templates/— шаблоны сайта и компонентов.
-
/blocks/— блоки Сайтов24.
-
/routes/— конфигурацию роутинга.
-
/js/— кастомные скрипты.
-
.settings.phpи.settings_extra.php— файлы настроек параметров ядра.
Особенности работы
Приоритет файлов. Если файл одновременно существует в /local/ и в /bitrix/, система использует версию из /local/. Это переопределяет стандартный функционал без изменения ядра.
Структура. Дублирование файлов между /local/ и /bitrix/ усложняет поддержку. Все пользовательские изменения лучше размещать только в /local/.
Безопасность. Для папки /local/php_interface/ нужно установить права доступа как для /bitrix/php_interface/, так как она содержит важные файлы инициализации.
Как перенести проект
1. Создайте аналогичную структуру папок в /local/.
2. Постепенно переносите измененные файлы из /bitrix/ и проверяйте работу сайта.
3. Используйте Монитор качества, чтобы выявить измененные файлы ядра. Найти его можно в административном разделе продукта на странице Настройки > Инструменты > Монитор качества.
Папка /upload
Папка /upload/ — хранилище для всех файлов, которые загружают на сайт стандартные механизмы Bitrix Framework. Вместо /upload/ можно указать другую папку в настройках Главного модуля.
- Откройте в административном разделе страницу Настройки > Настройки продукта > Настройки модулей > Главный модуль.
- Укажите папку в поле Папка по умолчанию для загрузки файлов.
Как хранятся файлы
Система автоматически создает подпапки для разных типов контента, например:
-
/upload/resize_cache/— кэшированные версии изображений после обработки,
-
/upload/iblock/— файлы инфоблоков,
-
/upload/media/— файлы медиабиблиотеки.
Каждый модуль может создавать свои подпапки для хранения файлов.
Как работать с файлами
Все операции с файлами рекомендуется выполнять через стандартные инструменты:
- медиабиблиотеку — для изображений, аудио, видео и документов,
- файловый менеджер — для работы с файлами в административном разделе,
- API — для работы с файлами в коде.
Для доступа к файлам из кода используйте методы API, а не прямые пути к файлам.
Публичные страницы и разделы
Структура публичной части сайта зависит от используемого решения и настроек.
Главная страница. Лежит в корне сайта и имеет название — /index.php.
Страницы. Файлы с контентом. Размещаются в файловой структуре сайта.
Разделы. Папки с индексными файлами, например, /catalog/index.php. Индексный файл отображает информацию раздела.
Контент на сайте может формироваться динамическими страницами и разделами. Их нет в файловой структуре. Они виртуальные, то есть их генерирует код.
Например, в файле /catalog/index.php можно разместить компонент, который создаст структуру из разделов и страниц с товарами на сайте.
💡 Экспертное мнение и рекомендации
Советы эксперта по интеграции:
- Всегда используйте кэширование при частых запросах к запросов, чтобы разгрузить базу данных.
- Соблюдайте стандарты PSR при написании обработчиков для «Directory Structure: Руководство разработчика».
- Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru