Разработка решений для Marketplace: Шаг за шагом

Как было отмечено ранее, установщик представляет собой набор стандартных шагов. Они могут генерироваться автоматически на основе файлов описаний или быть заданы в виде классов в файле wizards.php. Рассмотрим второй случай более подробно.

Файл wizards.php представляет собой набор шагов установки, которые могут как вызывать шаги стандартного мастера, так и переопределять их. Файл должен начинаться с подключения стандартного мастера:

require_once($_SERVER['DOCUMENT_ROOT']."/bitrix/modules/main/install/wizard_sol/wizard.php");

Сами шаги представляют собой классы, наследующиеся от классов стандартного мастера. Минимальная запись выглядит так:

class SelectTemplateStep extends CSelectTemplateWizardStep {
}

Эта запись означает, что при установке присутствует шаг Выбор шаблона, со стандартной реализацией.

Для переопределения какого-либо шага необходимо перегрузить соответствующий метод.

class SelectThemeStep extends CSelectThemeWizardStep {
    function InitStep() {
    …....................
    }
    function OnPostForm() {
    …....................
    }
    function ShowStep() {
    …....................
    }
}

В соответствии с названиями, эти методы отвечают за инициализацию, показ шага и обработку результатов шага после перехода по кнопке Далее.

Для вызова шага родителя в этом случае используется объект parent.

Пример стандартного шага выбора темы с установкой своего подзаголовка:

class SelectThemeStep extends CSelectThemeWizardStep {
    function InitStep() {
        parent::InitStep();
        $this->SetSubTitle(GetMessage('SELECT_THEME_SUBTITLE'));
    }
}

Важно! Если определение шагов мастера создания сайта делается через файл wizard.php, то поиск и обработка файлов описания .template.php, .service.php, .site.php не происходит, если это не реализовано вами, либо в стандартном классе соответствующего шага. Таким образом, чтобы реализовать сортировку шаблонов через файл .template.php, нужно перегрузить метод ShowStep() шага CSelectTemplateWizardStep, сделать собственную реализацию метода WizardServices::GetTemplates из файла \bitrix\modules\main\install\wizard_sol\utils.php.

Также можно не использовать файл .template.php, а указать значение сортировки в файле описания шаблона.

Курсы разработаны в компании «1С-Битрикс»

!Прокрутить вверх


Automata может помочь:

📞 +7 (906) 311-77-69 · ✉ hello@automata.sale · 💬 Telegram: @automatasale · 🌐 automata.sale

ИП Урядов Евгений Евгеньевич · ИНН 645112058391 · ОГРНИП 312645301900058
Работаем по России, Беларуси и Казахстану

Инструменты по теме:

Лицензии 1С-Битрикс