Пути и “что чем является” в SF4
В документации SF4 полезно с самого начала зафиксировать три опорных слоя, чтобы у читателя не возникало путаницы “где ядро, где проект, где шаблон”.
-
/simai— ядро SF4 Это системный слой фреймворка: классы, системные конфиги, ассеты ядра, actions мастера и т.п. В терминах работы команды это “поставляемый код”, который обновляется вместе с модулем. -
{site_dir}/simai.data— данные сайта (проектный слой) Это главный слой кастомизации: сюда складываются шаблонные области, проектные шаблоны, настройки, grid/view/block, проектные admin-скрипты (если используются), изображения и прочие пользовательские артефакты. Важно: именно этот слой должен оставаться “живым” между обновлениями ядра. -
/bitrix/templates/simai.framework— базовый системный шаблон В вашей архитектуре это не место кастомизации, а загрузчик, который подключает проектный шаблон из{site_dir}/simai.data/template/template.phpи вокруг него обеспечивает общий layout/подключения.
Такая терминология помогает однозначно формулировать правила:
- “Правим” и “добавляем” — только в
simai.data. - “Читаем/используем” системные вещи — из
/simaiи системного шаблона, но не редактируем.
Не использовать /upload/simai
В локальных данных SF4 слой /upload/simai как рабочая директория фреймворка не применяется. Поэтому в документации и в командах разработки не стоит предлагать или закреплять практику “складывать что-то в /upload/simai”. Если где-то в проектах встречаются такие пути, это следует трактовать как “наследие/самодеятельность”, а не как часть SF4.
Терминология в текстах и коде
Чтобы документация была однозначной, лучше придерживаться одинаковых формулировок:
/simai= “ядро” (системный слой, обновляется)simai.data= “данные сайта” / “проектный слой” (кастомизация, хранится на проекте)/bitrix/templates/simai.framework= “базовый системный шаблон” (загрузчик)- “правки” = только
simai.data(без исключений, если не оговорено отдельно)
Для примеров в коде удобно закрепить использование констант окружения SF4, чтобы везде читалось одинаково:
SF_DIR— системный слой (/simai)SF_DATA_DIR/SF_DATA_PATH— слой данных сайта ({site_dir}/simai.data)SF_SITE_DIR/SF_SITE_PATH— корень сайта
Чек-лист готовности (конвенции)
Перед тем как считать решение “собранным по правилам SF4”, полезно прогонять короткий список:
- Все пути и коды — латиница, без пробелов и кириллицы.
- Любые изменения интерфейса/шаблонов/областей/блоков — только в
{site_dir}/simai.data. - Системные директории
/simaiи/bitrix/templates/simai.frameworkне правились напрямую. - В конфигурациях и API используются коды, а не ID (там, где это применимо).
- PHP-код оформлен в единообразном стиле (PSR-12), а там, где используется Bitrix D7 — применяется корректно.
- Булевые флаги в конфигурациях и режимах — в виде строк
'Y'/'N'(как принято в Bitrix).