🧱 Суть

1С-Битрикс – это CMS и фреймворк на PHP для разработки сайтов и интернет-магазинов.

Проект состоит из:

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

Важно понимать, какие директории относятся к ядру, а какие можно изменять.

Общая схема проекта:

Корень проекта

├── /bitrix          ← ядро системы
├── /local           ← пользовательский код
├── /upload          ← загружаемые файлы
├── /images          ← изображения сайта
├── /include         ← подключаемые файлы
├── /url разделы сайта
└── index.php

📦 Проблема

Новички часто начинают изменять файлы внутри:

/bitrix

После обновления Битрикса все изменения будут потеряны.

Кроме того, смешивание пользовательского кода с ядром усложняет поддержку проекта.

✅ Решение

Следовать архитектуре Битрикса:

  • не изменять ядро
  • писать собственный код в /local
  • использовать компоненты и шаблоны
  • хранить пользовательские настройки отдельно от системных файлов

💻 Основные директории

/bitrix

Содержит ядро системы.

Здесь находятся:

  • административная панель
  • встроенные модули
  • компоненты
  • классы ядра
  • системные настройки
/bitrix
    ├── admin
    ├── components
    ├── modules
    ├── templates
    └── ...

Изменять содержимое этой папки не рекомендуется.

/local

Основное место для пользовательской разработки.

Обычно содержит:

/local
    ├── components
    ├── templates
    ├── php_interface
    ├── modules
    └── classes

Именно здесь располагают:

  • собственные компоненты
  • классы
  • обработчики событий
  • шаблоны
  • модули

/upload

Каталог пользовательских файлов.

Например:

/upload
    ├── images
    ├── iblock
    └── files

Сюда попадают:

  • изображения
  • документы
  • файлы инфоблоков

/include

Хранит небольшие подключаемые части сайта.

Например:

/include
    ├── footer_contacts.php
    ├── phone.php
    └── menu.php

Часто используется вместе с компонентом включаемых областей.

Публичная часть

Все страницы сайта находятся в корне проекта.

Например:

/about/
catalog/
news/
contacts/

Каждый раздел обычно содержит:

index.php
.section.php
.menu.php

Файл index.php

Практически каждая страница начинается так:

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
 
// Код страницы
 
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");

Здесь:

  • подключается шапка сайта
  • выводится содержимое страницы
  • подключается подвал

Файл header.php

Подключает:

  • HTML-документ
  • <head>
  • стили
  • JavaScript
  • меню
  • шапку сайта

Файл footer.php`

Закрывает страницу:

  • футер
  • подключение скриптов
  • закрывающие HTML-теги

Каталог /local/php_interface

Используется для настройки поведения системы.

Часто содержит:

init.php

В этом файле:

  • регистрируют обработчики событий
  • подключают собственные классы
  • настраивают приложение

Компоненты

Компоненты – основной механизм вывода данных.

Например:

$APPLICATION->IncludeComponent(
    "bitrix:news.list",
    "",
    []
);

Компонент:

  • получает данные
  • обрабатывает их
  • отображает результат через шаблон

Шаблоны сайта

Шаблоны располагаются, например:

/local/templates/

Обычно содержат:

header.php
footer.php
styles.css
template_styles.css

Именно шаблон определяет внешний вид сайта.

Инфоблоки

Большинство данных хранится в инфоблоках.

Например:

  • новости
  • каталог
  • статьи
  • сотрудники
  • акции

Компоненты получают информацию именно из инфоблоков.

Частые ошибки

Изменять файлы ядра

Плохо:

/bitrix/modules/

После обновления изменения будут потеряны.

Следует использовать каталог:

/local

Хранить собственные классы в /bitrix

Пользовательский код должен находиться отдельно от системного.

Добавлять всю логику в index.php

Плохо:

index.php

содержит сотни строк бизнес-логики.

Лучше:

  • использовать компоненты
  • выносить код в классы
  • применять обработчики событий

Загружать файлы вручную в случайные папки

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

/upload

Не использовать шаблоны компонентов

Изменять HTML внутри компонентов ядра не рекомендуется.

Следует создавать собственные шаблоны компонентов в каталоге:

/local/templates/

🎯 Вывод

  • Проект 1С-Битрикс разделён на ядро и пользовательскую часть
  • Каталог /bitrix содержит системные файлы и не должен изменяться
  • Основной пользовательский код размещается в /local
  • Страницы сайта строятся через header.php, footer.php и компоненты
  • Данные обычно хранятся в инфоблоках
  • Соблюдение структуры упрощает обновление системы и поддержку приложения

🔗 Связано