Компонент мастера
Компонент мастера имеет код sf.wizard
. Ключевым параметром является WIZARD_CONFIG_FILE, который указывает месторасположение конфигурационного файла.
В компоненте мастера устанавливаются служебные константы:
- SF_WIZARD_DIR – относительная директория мастера
- SF_WIZARD_PATH – абсолютный путь к папке мастера
$arResult
ключи переводятся в верхний регистр. Но все данные в массиве $arResult[“DATA”]
хранятся с ключами в нижнем регистре. Необходимо учитывать данные обстоятельства при создании действий.
Данные константы могут использоваться в действиях мастера для получения данных из вложенных папок или для использования временных папок и файлов.
Используя конфигурационный файл компонент формирует массив данных со следующей структурой:
$arResult["CONFIG"]
– Здесь хранится весь массив данных из конфигурационного файла.$arResult["WIZARD"]
– Параметры мастера$arResult["STAGE"]
– Параметры текущего этапа$arResult["STAGE"]["STATUS"]
– Статус текущего этапа. Может принимать значения NEW (новый этап), WORK (в работе), SUCCESS (успешно завершен)$arResult["ACTION"]
– Параметры для текущего действия$arResult["ACTION"]["DATA"]
– Массив текущих результатов работы действия (для передачи данных при выполнении действия в пошаговом режиме)$arResult["ACTION"]["INPUT"]
– Массив входных данных текущего действия$arResult["ACTION"]["OUTPUT"]
– Массив выходных данных текущего действия. После завершения работы действия, данные передаются в массив$arResult["DATA"]
$arResult["DATA"]
– Массив выходных данных всех завершенных действий. В данном массиве каждое действие может получать исходные данные, используя код (data_input_code) и записывать в него используя код (data_output_code). Все ключи в данном массиве должны иметь нижний регистр. Для этого перед сохранением данных в данный массив производится принудительное приведение ключей массива к нижнему регистру.
Сформированный массив сохранятся в хранилище используя класс SIMAI\Main\Configuration\Property
. После этого запускается шаблон компонента мастера.
Шаблон компонента мастера
Шаблон компонента мастера выполняет следующие функции:
- Формирует универсальную верстку (макет) мастера. Используя параметры фона и модификаторы из конфигурационного файла можно менять внешний вид мастера.
- Вызывает компонент этапа мастера (
sf.wizard.stage
). Для запуска действия в пошаговом режиме. - Обеспечивает навигацию по мастеру с помощью кнопок Вперед и Назад. Кнопки деактивируются на время выполнения действия. Также действие через параметр prev_disable=Y может блокировать кнопку Назад.
Для работы аякс скрипта компонента этапа мастера дополнительно передается параметр ID аякс мастера "PARENT_AJAX_ID" => $arParams["AJAX_ID"]
,