Перейти к содержанию

Структура файлов

Тему урока можно изучить в новом формате — в документации по Bitrix Framework. В ней улучшена структура, описание, примеры.

Структура файлов

Файловая структура Bitrix Framework организована таким образом, что программные компоненты ядра продукта были отделены от пользовательских файлов, а также файлов, определяющих внешнее представление сайта. Данная особенность позволяет:

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

Вся система целиком лежит в каталоге /bitrix/, в него входят следующие подкаталоги и файлы:

  • /activities/ - папки действий для бизнес-процессов;
  • /admin/ - административные скрипты;
  • /cache/ - файлы кеша;
  • /components/ - папка для системных и пользовательских компонентов;
  • /css/ - общие стили модулей;
  • /gadgets/ - папки гаджетов;
  • /js/ - файлы javascript модулей;
  • /stack_cache/ - файлы кеша с автоматическим вытеснением устаревших записей;
  • /services/ - публичные сервисы модулей;
  • /themes/ - темы административного раздела;
  • /wizards/ - папки мастеров;
  • /images/ - изображения используемые как системой в целом, так и отдельными модулями;
  • /managed_cache/ - управляемый кеш;
  • /modules/ - каталог с модулями системы, каждый подкаталог которого имеет свою строго определённую структуру;
  • /php_interface/ - вспомогательный служебный каталог, в него входят следующие каталоги и файлы:
  • dbconn.php - параметры соединения с базой. С версии 20.900.0 параметры соединения берутся из файла /bitrix/.settings.php,
  • init.php - подключение пользовательских обработчиков событий,
  • after_connect.php - подключается сразу же после создания соединения с базой,
  • dbconn_error.php - подключается при ошибке в момент создания соединения с базой,
  • dbquery_error.php - подключается при ошибке в момент выполнения SQL запроса,
  • /ID сайта/init.php - подключение пользовательских обработчиков событий для конкретного сайта; файл подключается сразу же после определения специальной константы c идентификатором сайта - SITE_ID,
  • /templates/ - каталог с шаблонами сайтов и компонентов , в него входят следующие подкаталоги:
  • /.default/ - подкаталог с общими файлами, используемыми тем или иным шаблоном по умолчанию, структура данного каталога аналогична нижеописанной структуре каталога содержащего конкретный шаблон,
  • /ID шаблона сайта/ - подкаталог с шаблоном сайта, в него входят следующие подкаталоги и файлы:
    • /components/ - каталог с кастомизированными шаблонами компонентов,
    • /lang/ - языковые файлы принадлежащие как данному шаблону в целом, так и отдельным компонентам,
    • /images/ - каталог с изображениями данного шаблона,
    • /page_templates/ - каталог с шаблонами страниц и их описанием хранящимся в файле .content.php. Когда пользователь создает новую страницу, он может выбрать, по какому шаблону из представленных в этом каталоге это будет сделано,
    • header.php - пролог данного шаблона,
    • footer.php - эпилог данного шаблона,
    • template_styles.css - основной файл стилей для шаблона,
    • styles.css - CSS стили шаблона для визуального редактора (вкладка Стили сайта),
  • /tools/ - при инсталляции в этот каталог копируются дополнительные страницы, которые могут быть непосредственно использованы на любых страницах сайта: помощь, календарь, показ изображения и т.п.;
  • /updates/ - каталог, автоматически создаваемый системой обновлений;
  • .settings.php - файл настроек

Bitrix Framework имеет ряд специфичных настроек ядра, которые не имеют визуального интерфейса редактирования. Этот подход вызван тем, что изменение настроек или ошибка в них легко могут привести к неработоспособности системы (настройки подключения к базе данных, настройки кеширования и т.д.).

Подробнее ... ядра D7; - header.php - стандартный файл, подключающий в свою очередь конкретный пролог текущего шаблона сайта; данный файл должен использоваться на всех страницах публичной части; - footer.php - стандартный файл, подключающий в свою очередь конкретный эпилог текущего шаблона сайта; данный файл должен использоваться на всех страницах публичной части; - license_key.php - файл с лицензионным ключом; - spread.php - файл используемый главным модулем для переноса cookie (куков)

; Cookie - это текстовая строка информации, которую веб-сервер передает в браузер посетителя сайта и которая сохраняется в файле на устройстве посетителя сайта. Как правило, используется для определения уникальности посетителя, времени его последнего визита, личных настроек, уникального идентификатора корзины покупок и т.д.

Подробнее... посетителя на дополнительные домены различных сайтов; - .access.php - файл формируется динамически правами доступа; - routing_index.php - входная точка нового роутинга

Для запуска новой системы роутинга нужно перенаправить обработку 404 ошибок на файл routing_index.php в файле .htaccess:

Подробнее ... ; - virtual_file_system.php - поддержка кириллицы в системе; - и другие служебные файлы и папки.

В зависимости от используемой редакции некоторые каталоги и файлы могут отсутствовать либо добавлены теми или иными модулями

Например:
redirect.php - файл используемый модулем Статистика для фиксации событий перехода по ссылке;
rk.php - файл по умолчанию используемый модулем Реклама для фиксации событий клика по баннеру;
stop_redirect.php - файл используемый модулем Статистика для выдачи какого либо сообщения посетителю, попавшему в стоп-лист;
activity_limit.php - файл используемый модулем Статистика для выдачи сообщения роботу при превышении им лимита активности;
и другие. .