Как устроен action в мастере
Wizard в SF4 исполняет цепочку “шагов” (actions). Каждый шаг определяется:
code— код действия (соответствует папке в/simai/wizard/action/<code>/).parameter— параметры действия (могут быть массивом или массивом массивов).data_input_code— откуда взять входные данные (из общего хранилища данных мастера).data_output_code— куда положить результат шага (в общее хранилище данных мастера).condition— условия выполнения шага (например, по выбранным параметрам установки).autocomplete— нужно ли автоматически переходить дальше, если шаг не требует ручного ввода.
Почти везде параметры нормализуются в “нижний регистр ключей”, поэтому в конфиге мастера вы обычно задаёте source/destination/rewrite/site/template/... в нижнем регистре, а внутри action это подхватывается корректно.
Типичная структура шага в конфиге мастера:
<?php
return [
[
'name' => 'Копирование файлов',
'code' => 'file.copy',
'data_input_code' => 'site_config',
'autocomplete' => 'Y',
'parameter' => [
[
'source' => '/local/wizard/data/bitrix/templates/.default/',
'destination' => '/bitrix/templates/.default/',
'rewrite' => 'Y',
'name' => 'Копирование шаблона',
],
],
],
];
Важное про “реализацию” в поставке
Для каждого action возможны варианты:
action.php— действие реализовано процедурным обработчиком.class.php— действие реализовано классом (обычно для тяжёлых операций).только описание— в локальных данных есть.description.php, но исполняемый код не найден (это либо легаси/заглушка, либо часть действий в вашей рабочей версии лежит в другом месте/поставке).