Структура админ-раздела SF4: ключевые страницы (конфиги site/section/page/demo, iblock формы), расположение и права доступа для работы с конфигами и мастером
В SF4 админ-часть обычно складывается из нескольких “типов” страниц:
- Конфиги уровней: формы, которые редактируют настройки уровня site / section / page (и отдельно “demo”). Внутри это, как правило, одна логика: собрать список свойств (универсальные свойства), собрать текущие значения и отрисовать форму через компонент редактирования свойств.
- Редактор инфоблока: отдельные страницы для редактирования секции инфоблока и элемента инфоблока через тот же механизм универсальных свойств (но с проверкой прав на запись в инфоблок).
- Редактор блоков/раскладки: интерфейсы управления блоками страницы (редактирование, свойства блоков, свойства строк/колонок). Эти страницы обычно используются для “конструктора” блоков и настроек отображения.
По расположению важно различать:
- “системную” часть (то, что поставляет SF4 модуль),
- “данные проекта” (то, что живёт в
{site_dir}/simai.dataи должно переживать обновления).
Практическое правило: админ-страницы запускают редактирование, но сохранять должны в слой данных проекта (в конфиги/настройки/.property.php и т. п.), чтобы обновления ядра не затирали изменения.
Права: какие роли/группы должны иметь доступ к админ-разделу SF4 и к записям в {site_dir}/simai.data
Есть два независимых контура прав:
- Права в админке Bitrix
- Часть страниц SF4 завязана на “админский” доступ (проверка уровня администратора).
- Часть страниц завязана на права на конкретный инфоблок: если у пользователя нет прав записи (уровня “W”), форма редактирования не должна открываться.
- Права файловой системы на запись
- Любое сохранение конфигов/настроек/структур требует, чтобы веб-сервер мог писать в
{site_dir}/simai.data(и, при необходимости, в подкаталоги вродеconfig/,grid/,template/). - Типовой симптом проблем с правами: форма открывается, но “сохранение” не даёт эффекта или падает на операции записи файла.
Точное описание “какие именно группы” (кроме администраторов) должны иметь доступ к конкретным страницам/функциям — требует уточнения под ваш проект, потому что это обычно завязано на вашу модель ролей (контент-менеджеры, редакторы, маркетинг и т. п.) и на то, какие инфоблоки/разделы кому разрешены.
Файловый менеджер: использование админ-страниц для создания шаблонов grid/block/view внутри simai.data (создание папок/файлов, шаблонов template.php, стилей/скриптов)
В SF4 есть два “режима” управления grid/block/view:
- Режим “как собрать страницу”: админ-инструменты редактируют раскладку/настройки блоков для конкретной страницы (что включить, какие параметры применить, какие варианты отображения выбрать). Это обычно сохраняется в настройки уровня страницы (часто — в
.property.phpили аналогичный конфиг). - Режим “как выглядит блок/раскладка”: сами шаблоны блоков и view — это файлы в
simai.data/grid/...(или в системной части, если вы не переопределяли).
Если вам нужно, чтобы админка действительно “создавала” новые файлы шаблонов — важно понимать: создание файлов = файловые права + понятный шаблон структуры. В SF4 это чаще всего реализовано как “копирование/размножение” существующих шаблонов с последующей правкой, чем как генерация “с нуля”.
Если в вашем проекте используется именно сценарий “создать новый block/view из админки”, пришлите пример: “я нажал X → появилось Y → создался файл Z”. Тогда можно точно описать поток и точки сохранения.
Публичный редактор инфоблоков: что редактирует (данные элементов/разделов), какие уровни настроек учитывает (user/page/section/site), как подключается и где доступны формы
Публичный редактор инфоблоков в SF4 — это идея “редактировать на сайте”, но с сохранением правил безопасности:
-
Что редактируется
- Секция инфоблока: поля секции + пользовательские свойства секции (если они предусмотрены).
- Элемент инфоблока: поля элемента + свойства элемента, включая файловые (с обработкой загрузок/удалений).
-
Учет уровней настроек
- Форма редактирования (набор полей, типы, шаблоны) опирается на универсальные свойства и на конфиги уровня.
- Значения/поведение могут зависеть от настроек site/section/page/user (например, “expert_mode” как переключатель расширенного режима формы).
-
Как подключается
- Обычно это либо отдельная страница/режим, либо вызов через панель/кнопку (открытие формы в модальном окне/диалоге).
- Доступ контролируется правами: если нет прав записи в инфоблок — редактирование блокируется.
Точные URL/точки входа в публичный редактор в вашем решении — требуют уточнения, потому что это зависит от того, как вы вывели кнопки/панель и какие маршруты приняты в конкретном сайте.
Отдельная процедура: создание/редактирование шаблонов грида/блоков через админку — копировать системный шаблон/файл в {site_dir}/simai.data/grid/view|block, править template.php, добавлять стили/скрипты; использовать админ-файловый менеджер для создания структуры и сохранения в слой данных
Базовый “безопасный” процесс, который хорошо ложится на философию SF4:
-
Выберите существующий шаблон (view или block), максимально близкий к нужному результату.
-
Скопируйте его в слой данных проекта:
- view:
{site_dir}/simai.data/grid/view/... - block:
{site_dir}/simai.data/grid/block/...
- view:
-
Правьте уже копию:
template.php— основная разметка/логика отображения- при необходимости добавляйте/правьте сопутствующие файлы стилей/скриптов в рамках принятой структуры проекта
-
Проверьте подключение (кэш, права, корректные коды).
-
Только после этого переключайте страницу/блок на новый вариант (через настройки блока/страницы).
Мини-ориентир по структуре (упрощённо), чтобы было понятно “куда класть”:
{site_dir}/simai.data/grid/
view/
<section>/
<variant>/
template.php
block/
<section>/
<block_code>/
<variant_or_solution>/
template.php
Идея именно в том, чтобы не редактировать системные шаблоны, а жить в simai.data, где изменения “ваши” и переживают обновления.
Шаблон содержимого раздела: перечень страниц админки, модель прав (группы/роли), список сущностей (grid/view/block, конфиги site/section/page/demo, iblock формы), типовые ошибки прав/записи и способы исправления
Чтобы раздел документации был реально полезен “как инструкция”, обычно достаточно следующей логики описания:
-
Какие сущности есть
- Конфиги: site / section / page / demo
- Редактирование IB: секции / элементы
- Редактор блоков: страница / блок / строка / колонка
-
Какие проверки прав встречаются
- “только админ”
- “есть право записи в инфоблок”
- “есть право записи в
{site_dir}/simai.data”
-
Типовые ошибки и как их диагностировать
- Не хватает прав в админке: форма/страница не открывается (или сразу закрывается).
- Не хватает прав на инфоблок: редактор секции/элемента блокируется при недостаточных правах записи.
- Файловая система только для чтения: “сохранил — не сохранилось”, либо ошибки записи файлов.
- Несовпадение кодов: в wizard action код действия должен совпадать с именем папки действия, иначе мастер не найдёт реализацию.
- Длинные операции: если действие “длинное”, оно должно работать порциями; иначе получите таймауты (поэтому в мастере есть режим циклического выполнения).