Курсы

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

Разработка решений для 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С-Битрикс»

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

🚀 Нужна помощь с сайтом на 1С-Битрикс или Аспро?

Я работаю удалённо по всей России и СНГ. Узнайте цены и условия для вашего города:

Все регионы →