Роль шаблона в сборке страницы и подключении SF4
/bitrix/templates/simai.framework — это системный шаблон SF4, который выступает “каркасом” для публичной части сайта: он определяет базовую структуру HTML, точки подключения CSS/JS и общий порядок сборки страницы. Именно шаблон является тем местом, где Bitrix “включает” SF4 как платформу: подключаются системные части, запускаются механизмы загрузки ассетов и создаются условия, чтобы дальше работали представления областей (VIEW), гриды, блоки и проектные переопределения.
Практически это означает, что при запросе страницы Bitrix выбирает активный шаблон сайта, а дальше уже шаблон организует сборку: поднимает системный слой SF4 и даёт ему возможность применять настройки сайта/раздела/страницы, подключать нужные VIEW областей и рендерить содержимое через компоненты.
Какие части считаются “системными” и не правятся напрямую
Системный шаблон относится к платформенному уровню: он поставляется как часть SF4 и должен оставаться “эталонным” для обновлений. Поэтому прямые правки файлов в /bitrix/templates/simai.framework в проектах считаются рискованными: при обновлении SF4 они либо потеряются, либо создадут конфликт версий, либо потребуют постоянного ручного слияния.
На практике “системными” считаются:
- базовый layout и структура подключения частей шаблона;
- системные include-точки, через которые SF4 подключает свои инструменты и ассеты;
- элементы, обеспечивающие работу панели управления и режимов редактирования.
Если проекту нужно изменить поведение публичной части, правильнее менять не системный шаблон, а проектный слой, который этот шаблон подхватывает.
Куда выносится кастомизация: {site_dir}/simai.data/template
Точка расширения проекта в SF4 — это {site_dir}/simai.data/template. Именно сюда выносятся все изменения, которые относятся к конкретному сайту: собственные стили и скрипты, мета-части, элементы панели, подключаемые шаблонные фрагменты и другие “надстройки” поверх системного шаблона.
Такой подход даёт два важных эффекта:
-
Обновления SF4 становятся безопаснее. Системный шаблон обновляется вместе с платформой, а проектный слой остаётся неизменным и продолжает работать как “надстройка”, а не как патч ядра.
-
Проект легче переносить между средами. Всё проектное собрано в одном месте (
simai.data+.property.phpнастроек), и вы не зависите от того, что кто-то вручную правил системные файлы на конкретном сервере.
В связке с grid/view и grid/block это выглядит логично: системный шаблон даёт инфраструктуру и точки подключения, а {site_dir}/simai.data (включая template) даёт конкретную конфигурацию и внешний вид сайта.