Редактор грида поддерживает drag&drop строк/колонок/блоков и inline-формы настроек
В SF4 визуальное редактирование грида — это рабочий режим, в котором вы собираете область страницы как конструктор: добавляете/удаляете строки, меняете количество колонок, переставляете блоки между колонками, настраиваете параметры строки/колонки/блока «на месте». По сути вы редактируете конфигурацию представления (view), а не «верстаете руками» шаблон.
Технически итогом редактирования становится набор параметров компонента simai:sf.grid: порядок строк (ROW_ORDER), параметры строк (ROW_*), параметры колонок внутри строки (ROW_*_COL_*), список областей (area) внутри колонки и их шаблоны (ROW_*_COL_*_AREA_*_TEMPLATE) и т.д. Поэтому drag&drop в редакторе напрямую превращается в изменение этих параметров: вы меняете структуру → меняются ключи и значения параметров.
Дополнительно редактор поддерживает «расширенный» набор полей. На уровне конфигурации это обычно проявляется флагом EXPERT_MODE: когда он включён, интерфейс показывает больше технических настроек (то, что обычному контент-редактору чаще всего не нужно).
Конфигурации редактирования и параметры интерфейса
Редактор опирается на два слоя вещей:
-
Модель грида и соглашения об именовании параметров. Структура «строки → колонки → области (area)» задаётся параметрами вида
ROW_*,ROW_*_COL_*,ROW_*_COL_*_AREA_*. Это важно понимать, потому что любые визуальные изменения в итоге сохраняются именно как параметры, а не как «какой-то отдельный формат». -
Ограничители и «контекст» редактирования. В параметрах грида может встречаться, например,
BLOCK_SECTION— это практический переключатель того, из какого набора/раздела блоков подбираются элементы для текущего представления (например, для шапки это логично «header», для подвала — «footer» и т.п.). Это позволяет редактору показывать более релевантные блоки для конкретной области сайта.
Также в конфигурации представлений встречаются условия отображения. Типовой паттерн — пара параметров на сущность (часто на строку):
*_USE_CONDITION— включено ли условие,*_CONDITION_PROPERTY— по какому свойству проверять (например,show_title,include_top_areaи т.п.). Смысл: часть разметки/областей становится управляемой через свойства сайта/раздела/страницы, а не правками шаблонов.
Где смотреть примеры UI и поведения и что реально сохраняется на диск
Ключевое правило сохранения (важно для команды): визуальный редактор сохраняет результат в файл представления, то есть в:
{site_dir}/simai.data/grid/view/.../template.php
Причём в актуальной схеме template.php — это не «абстрактный конфиг», а готовый PHP-файл, который вызывает компонент simai:sf.grid с массивом параметров (включая BLOCK_SECTION, EXPERT_MODE, ROW_*, ROW_*_COL_*_AREA_*_TEMPLATE и т.д.). Редактор именно перезаписывает/обновляет этот файл, фиксируя новую конфигурацию.
Отдельно от этого существует выбор активного view для области, и он хранится в свойствах:
- на уровне сайта — в
{site_dir}/simai.data/.site.property.php, - на уровне раздела/страницы — в
.property.phpвнутри папки раздела (и там же — page-настройки).
То есть разделение такое:
- редактор грида меняет содержимое view (переписывает соответствующий
.../grid/view/.../template.php); - настройки сайта/раздела/страницы указывают, какой именно view-код использовать для конкретной области (через
grid_view_*в property-файлах).
Практический вывод: если вам нужно изменить поведение только для одного раздела/страницы — обычно безопаснее создать отдельное представление (новый код/папку view) и подключить его через grid_view_* на нужном уровне, чем править общий default, который используется в нескольких местах.
И ещё один рабочий момент: включение «режима редактирования гридов» делается из панели SF4 (в интерфейсе это отдельная кнопка/переключатель). В самих view-шаблонах часто заложена логика вида «показывать/прятать сервисные иконки», завязанная на значение grid_edit_mode (оно читается через систему свойств). Это объясняет, почему без включения режима вы не видите элементов управления, даже если файлы view корректные.