Структура директорий

Проекты на 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 — настройки ядра.

  • 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 можно разместить компонент, который создаст структуру из разделов и страниц с товарами на сайте.

Следующая