home chevron_right
Правило слэша, терминология

Пути и “что чем является” в SF4link

В документации 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/simailink

В локальных данных SF4 слой /upload/simai как рабочая директория фреймворка не применяется. Поэтому в документации и в командах разработки не стоит предлагать или закреплять практику “складывать что-то в /upload/simai”. Если где-то в проектах встречаются такие пути, это следует трактовать как “наследие/самодеятельность”, а не как часть SF4.

Терминология в текстах и кодеlink

Чтобы документация была однозначной, лучше придерживаться одинаковых формулировок:

  • /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 — корень сайта

Чек-лист готовности (конвенции)link

Перед тем как считать решение “собранным по правилам SF4”, полезно прогонять короткий список:

  • Все пути и коды — латиница, без пробелов и кириллицы.
  • Любые изменения интерфейса/шаблонов/областей/блоков — только в {site_dir}/simai.data.
  • Системные директории /simai и /bitrix/templates/simai.framework не правились напрямую.
  • В конфигурациях и API используются коды, а не ID (там, где это применимо).
  • PHP-код оформлен в единообразном стиле (PSR-12), а там, где используется Bitrix D7 — применяется корректно.
  • Булевые флаги в конфигурациях и режимах — в виде строк 'Y'/'N' (как принято в Bitrix).