home chevron_right
Справочник Wizard actions SF4

Как устроен action в мастереlink

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'        => 'Копирование шаблона',
            ],
        ],
    ],
];

Важное про “реализацию” в поставкеlink

Для каждого action возможны варианты:

  • action.php — действие реализовано процедурным обработчиком.
  • class.php — действие реализовано классом (обычно для тяжёлых операций).
  • только описание — в локальных данных есть .description.php, но исполняемый код не найден (это либо легаси/заглушка, либо часть действий в вашей рабочей версии лежит в другом месте/поставке).