Компонент мастера
Компонент мастера имеет код 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"],