Всё кажется запутанным: куча файлов, папок, .php, .section.php, header, footer… Но на самом деле структура у Битрикса очень логичная и, главное, последовательная. Если один раз понять принцип, то потом всё становится предсказуемо и удобно.
Папки и разделы — основа структуры
Главная идея в том, что каждая папка на сервере — это раздел сайта, а файл index.php внутри этой папки — это страница этого раздела.
- Например, у вас есть папка /about/.
- Если в ней лежит файл index.php, то страница откроется по адресу /about/.
- Если вы создадите в ней подпапку /about/team/, то она станет подразделом — и страница /about/team/index.php откроется по адресу /about/team/.
index.php — сердце страницы
Файл index.php — это основное «тело» страницы. В нём хранится всё, что видит пользователь: контент, тексты, изображения, компоненты Битрикса (например, список новостей, каталог, форму обратной связи и т. д.).
Каждый index.php начинается с подключения шапки и заканчивается подключением футера:
<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
// Здесь контент страницы
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");
?>
Эти две строчки — обязательны почти для каждой страницы.
Они говорят Битриксу: «подключи шаблон сайта, выведи общие элементы (меню, шапку, футер) и подгрузи все мета-теги и ассеты».
Между ними вы можете писать обычный HTML или вставлять компоненты:
<h1>О компании</h1>
<p>Мы занимаемся внедрением и поддержкой Bitrix24...</p>
Так формируется содержимое конкретной страницы.
.section.php — «паспорт» раздела
Теперь немного магии.
В каждой папке рядом с index.php может лежать файл .section.php.
Он нужен не для контента, а для настроек раздела — то есть для того, что касается SEO и внешнего вида, а не текста.
.section.php содержит две переменные:
- $sSectionName — название раздела (используется в хлебных крошках и <title>);
- $arDirProperties — массив свойств раздела, таких как description, keywords, robots, og:title, canonical и т.д.
Пример такого файла:
<?php
$sSectionName = "О компании";
$arDirProperties = [
"description" => "Компания Implecs — внедрение Bitrix24 и 1С",
"title" => "О компании — Implecs",
"robots" => "index, follow",
"og:title" => "О компании Implecs",
"og:description" => "Сертифицированные специалисты по Bitrix24",
"canonical" => "https://site.ru/about/"
];
?>
Эти значения Битрикс автоматически подхватывает при выводе страницы.
Например, <title> формируется на основе $sSectionName или свойства title, а <meta name="description"> — из $arDirProperties['description'].
Самое удобное здесь то, что все вложенные страницы наследуют свойства из родительского раздела.
Если в /about/.section.php задан description, то страница /about/team/ получит его автоматически, пока вы не переопределите значение в своём .section.php.
Как формируется страница целиком
Когда пользователь открывает страницу /about/, Битрикс:
- Находит папку /about/.
- Загружает .section.php, чтобы узнать свойства раздела.
- Подключает index.php и выполняет его код.
- Через require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php") вставляет общую шапку сайта.
- Выводит содержимое страницы (HTML или компонент).
- Подключает футер.
Всё это вместе формирует полноценную страницу с заголовком, мета-тегами, стилями и контентом.
Шаблон сайта: шапка, футер и общие файлы
Шаблон сайта в Битриксе — это набор файлов, отвечающих за оформление.
По умолчанию шаблон лежит в папке /local/templates/имя_шаблона/.
Внутри шаблона всегда есть три главных файла:
- header.php — начало страницы (теги <html>, <head>, шапка сайта);
- footer.php — конец страницы (футер и закрывающие теги);
- template_styles.css — основной файл со стилями.
Шапка и футер — это как рамка вокруг контента.
Все страницы используют одни и те же header.php и footer.php, поэтому дизайн и структура сайта остаются едиными.
Пример начала header.php:
<!doctype html>
<html lang="ru">
<head>
<?php
use Bitrix\Main\Page\Asset;
$APPLICATION->ShowHead();
Asset::getInstance()->addCss(SITE_TEMPLATE_PATH."/styles.css");
Asset::getInstance()->addJs(SITE_TEMPLATE_PATH."/script.js");
?>
<title><?$APPLICATION->ShowTitle()?></title>
</head>
<body>
<div id="panel"><?$APPLICATION->ShowPanel();?></div>
<header>…</header>
<main>
📢 Подписывайтесь на наш Telegram-канал.
Там вы найдете анонсы обучающих статей и видео, готовый код для ваших проектов и увлекательные курсы. Ничего лишнего — только практика, вдохновение и развитие.
А footer.php обычно просто закрывает main, добавляет футер и закрывает страницу:
</main>
<footer>…</footer>
</body>
</html>
Ассеты: где лежат стили, скрипты и картинки
Слово «ассеты» (assets) в Битриксе означает всё, что связано с фронтендом: CSS, JS, изображения, шрифты.
По современной структуре всё своё нужно хранить в папке /local/templates/имя_шаблона/.
Например:
/local/templates/main/
├── styles.css
├── script.js
├── /assets/
├── img/
├── fonts/
Подключать эти файлы лучше через менеджер ассетов:
use Bitrix\Main\Page\Asset;
Asset::getInstance()->addCss(SITE_TEMPLATE_PATH."/styles.css");
Asset::getInstance()->addJs(SITE_TEMPLATE_PATH."/script.js");
Битрикс потом сам выведет их в нужном месте внутри <head>, оптимизирует, минифицирует и объединит при необходимости.
Можно подключать стили и старым способом:
$APPLICATION->SetAdditionalCSS(SITE_TEMPLATE_PATH."/styles.css");
$APPLICATION->AddHeadScript(SITE_TEMPLATE_PATH."/script.js");
Но метод с Asset::getInstance() современнее и гибче.
Где хранятся мета-теги и как они выводятся
Битрикс выводит мета-теги через метод $APPLICATION->ShowHead(), который стоит в header.php.
Он собирает всё, что вы задали через SetPageProperty() или через $arDirProperties из .section.php, и вставляет это в <head>.
Обычно шаблон сам содержит такие строки:
<meta name="description" content="<?$APPLICATION->ShowProperty('description')?>">
<meta name="robots" content="<?$APPLICATION->ShowProperty('robots')?>">
<meta property="og:title" content="<?$APPLICATION->ShowProperty('og:title')?>">
<meta property="og:description" content="<?$APPLICATION->ShowProperty('og:description')?>">
А <title> берётся из:
<title><?$APPLICATION->ShowTitle()?></title>
Если в .section.php указаны свойства title и description, Битрикс сам подставит их в эти теги.
Почему это удобно
Когда структура настроена правильно, сайт становится предсказуемым и лёгким в сопровождении.
- Хотите добавить раздел — просто создайте папку с index.php и .section.php.
- Хотите изменить описание раздела — откройте .section.php и отредактируйте пару строк.
- Хотите поменять дизайн — правьте шаблон в /local/templates/, и изменения применяются ко всему сайту сразу.
Немного о порядке в проекте
- Всё своё — в /local/, ядро — не трогаем.
- Мета-теги и названия — в .section.php.
- Контент и компоненты — в index.php.
- Стили и скрипты — через Asset::getInstance().
- Шапка и футер — общие, внутри шаблона.
- Новая страница = новая папка с index.php и .section.php.
Типовая структура проекта на Битриксе
Чтобы лучше понимать, как устроен сайт на 1С-Битрикс, важно знать, где что находится. Ниже представлена типовая структура проекта, которая отражает логику разделения ядра, пользовательских данных, шаблонов и контента.
/bitrix/ — ядро системы: модули, компоненты, классы, админка (менять нельзя)
/local/ — всё пользовательское (безопасное место для работы разработчика)
/templates/ — шаблоны сайтов (внешний вид)
/main/ — основной шаблон сайта
header.php — начало страницы, подключение шапки
footer.php — завершение страницы, подключение футера
template_styles.css — основной файл со стилями шаблона
script.js — общий JavaScript для шаблона
/assets/ — ассеты: изображения, шрифты, стили
/img/
/fonts/
/components/ — собственные компоненты (не системные)
/implecs/ — пространство имён (ваша компания или проект)
/news.list/ — пример собственного компонента
/templates/
/.default/
template.php
style.css
/php_interface/ — подключаемые файлы, автозагрузка, init.php
/upload/ — все загруженные файлы через админку или формы
/about/ — раздел «О компании»
index.php — страница раздела «О компании»
.section.php — мета-свойства раздела
/catalog/ — раздел «Каталог»
index.php
.section.php
/contact/ — раздел «Контакты»
index.php
.section.php
/.htaccess — конфигурация для Apache (ЧПУ, кеш, защита)
/index.php — главная страница сайта
/.section.php — общие свойства для корневого раздела
/sitemap.xml — карта сайта для поисковиков
/robots.txt — инструкции для поисковых систем
Как видно, структура чётко разделена по зонам ответственности. Всё системное и стандартное хранится в папке /bitrix/ — туда лучше не вмешиваться, чтобы не нарушить работу ядра и иметь возможность безопасно обновлять систему.
Все доработки, стили, скрипты и шаблоны должны размещаться в /local/. Эта папка полностью принадлежит разработчику, и именно сюда попадает весь ваш уникальный код. Это обеспечивает чистоту проекта и облегчает обновления.
Контент сайта (страницы и разделы) представлен как набор папок: каждая папка — это отдельный раздел, в котором есть свой index.php (контент страницы) и .section.php (настройки SEO и заголовков). Таким образом, если вы видите папку /catalog/, значит на сайте точно есть страница /catalog/.
В корне сайта находятся служебные файлы: .htaccess и robots.txt управляют поведением веб-сервера и поисковых систем, а index.php — это входная точка сайта, которая обычно подключает шаблон и открывает главную страницу.
Итоговая идея проста: ядро Битрикса — отдельно, ваша логика и дизайн — отдельно, а структура папок полностью совпадает с URL-структурой сайта. Благодаря этому проект остаётся понятным, гибким и легко поддерживаемым даже при большом количестве страниц и компонентов.
12.11.2025
0
12
Комментарии
0