В SF4 под “инструментами управления” обычно понимают две связанные части:
-
Wizard (универсальный мастер) — механизм, который ведёт пользователя по шагам и на каждом шаге выполняет “действие” (action). Действие может быть мгновенным (один запуск) или “пошаговым/длинным” (выполняется в цикле, малыми порциями), чтобы не упираться в таймауты и не перегружать сервер.
-
Редакторы (админ-страницы и публичные формы) — интерфейсы, которые дают безопасный доступ к настройкам и данным: конфиги уровней (site/section/page/demo), редактирование секций/элементов инфоблоков, управление блоками/раскладкой.
Ключевая идея, которая объединяет оба мира: данные передаются через “хранилище” мастера и/или через конфигурации SF4, а единицей работы в мастере является action, у которой есть:
- вход:
data_input_code(откуда взять массив из$arResult["DATA"][...]) - выход:
data_output_code(куда положить результат в$arResult["DATA"][...]) - параметры:
parameter(структура зависит от конкретного действия) - контроль поведения UI:
prev_disable(запрет “Назад”),autocomplete(автопереход к следующему действию)
По “семействам” действия обычно группируются так:
- file.* — операции с файлами/папками (копирование, удаление, распаковка/упаковка, массовые переименования).
- data.* — перенос массивов (получить данные от пользователя/из конфига, импорт/экспорт массива в файл).
- option.* — экспорт/импорт настроек модулей (чтение/запись опций).
- site.* — экспорт/импорт сайтов.
- iblocktype.* — экспорт/импорт типов инфоблоков.
- iblock.* — экспорт/импорт инфоблоков (обычно через архивы).
- usergroup.* — экспорт/импорт групп пользователей.
- вспомогательные (например, cut.names / restore.names как пара “операция + откат” для массовых переименований).