/simai
/simai — это системное ядро SIMAI Framework 4 (SF4) на уровне сайта. Оно поставляется вместе с модулем simai.framework и используется как опорная точка для подключения ресурсов и служебной логики SF4. В проектах /simai рассматривается как платформенная часть, которую не модифицируют “под сайт”, чтобы обновления фреймворка оставались безопасными.
Внутри /simai обычно сосредоточены:
- базовые конфиги фреймворка (например, конфигурации ассетов/шрифтов);
- системные ассеты и библиотеки;
- инфраструктура мастера и набор действий мастера (в т.ч. ветка
/simai/wizard/action); - служебные утилиты и системные файлы, на которые опираются шаблон и компоненты SF4.
{site_dir}/simai.data
{site_dir}/simai.data — это слой данных конкретного сайта/решения. Это главное место для проектных артефактов SF4: представлений (view), блоков, шаблонных переопределений, конфигураций и статических ресурсов, которые должны переживать обновления ядра.
Практически в simai.data живут три ключевые зоны, которые чаще всего использует разработчик решения:
-
Представления (view) и гриды
{site_dir}/simai.data/grid/view/...— хранилище представлений областей (header/footer/home/sidebar/main top/bottom).- Представление — это папка с
template.php, где хранится сохранённая конфигурация грида (как “готовый вызов”simai:sf.gridс параметрами строк/колонок/областей/условий).
-
Блоки
{site_dir}/simai.data/grid/block/...— блоки, которые используются внутри представлений. Обычно блоки выбираются по коду (имени папки блока), а их шаблон —template.php.
-
Шаблонные переопределения и ресурсы сайта
{site_dir}/simai.data/template/...— точка расширения фронтенда проекта: подключение дополнительных CSS/JS, мета, панели, шаблонные include-части и т.п.
Отдельно важно зафиксировать, где в SF4 хранятся значения настроек (это то, что чаще всего редактируют при настройке сайта):
- настройки сайта (site-level) хранятся в
{site_dir}/simai.data/.site.property.php; - настройки разделов и страниц хранятся в файле
.property.phpвнутри соответствующего раздела сайта (например,/ru/.property.php), где в одном файле могут быть и секцияsection, и секцияpage(по конкретным страницам).
/bitrix/templates/simai.framework
/bitrix/templates/simai.framework — это системный шаблон SF4, то есть базовый каркас фронтенда (layout страницы, подключение системных частей и “точек расширения”). Он обеспечивает единый подход к сборке страниц и служит стабильной основой, поверх которой накладывается проектная настройка.
Кастомизация в SF4 предполагается не через прямую правку системного шаблона, а через проектный слой:
- адаптации, стили и скрипты сайта размещаются в
{site_dir}/simai.data/template, - а выбор представлений областей (header/footer/sidebar/…) задаётся настройками сайта/страницы через свойства
grid_view_*.
Общие правила
В SF4 удобно придерживаться нескольких принципов, которые напрямую влияют на поддерживаемость проектов:
Коды вместо ID. В настройках, привязках и конфигурациях по возможности опираются на коды (папок блоков, представлений, сущностей), чтобы перенос между средами и миграции не зависели от числовых идентификаторов.
Не править ядро и системный шаблон “под проект”. Всё, что относится к конкретному сайту (представления, блоки, стили, скрипты, настройки), следует размещать в проектных местах — в simai.data и в .property.php разделов. Это уменьшает риск конфликтов при обновлении SF4.
Разделять “платформу” и “решение”. simai.framework даёт платформу (ядро, компоненты, мастер), а решение добавляет свои данные и сценарии установки. В документации и в разработке полезно всегда понимать, к какому уровню относится изменение: к SF4 как платформе или к конкретному проекту.