Дата последнего изменения: 23.09.2021
Всего можно выделить четыре типа файлов описания:
Файл .description.php содержит название, описание, а также ряд других характеристик мастера. Этот файл должен всегда присутствовать в папке мастера.
Языковой файл подключается автоматически (должен лежать в папке /lang/ID языка/.description.php
относительно папки мастера).
Пример файла описания стандартного мастера demo_personal (bitrix.sitepersonal):
<? if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); if(!defined("WIZARD_DEFAULT_SITE_ID") && !empty($_REQUEST["wizardSiteID"])) define("WIZARD_DEFAULT_SITE_ID", $_REQUEST["wizardSiteID"]); $arWizardDescription = Array( "NAME" => GetMessage("PORTAL_WIZARD_NAME"), "DESCRIPTION" => GetMessage("PORTAL_WIZARD_DESC"), "VERSION" => "1.0.0", "START_TYPE" => "WINDOW", "WIZARD_TYPE" => "INSTALL", "IMAGE" => "/images/".LANGUAGE_ID."/solution.png", "PARENT" => "wizard_sol", "TEMPLATES" => Array( Array("SCRIPT" => "wizard_sol") ), "STEPS" => (defined("WIZARD_DEFAULT_SITE_ID") ? Array( "SelectTemplateStep", "SelectThemeStep", "SiteSettingsStep", "DataInstallStep" , "FinishStep" ) : Array("SelectSiteStep", "SelectTemplateStep", "SelectThemeStep", "SiteSettingsStep", "DataInstallStep" , "FinishStep")) ); ?>
Если мастер создания сайта содержит файл wizard.php, то необходимость остальных файлов описания определяется логикой шагов мастера. Стандартный мастер wizard_sol использует только файл .services.php по пути /site/services/
игнорируя остальные файлы описания.
Стандартно подключается языковой файл /lang/ID языка/site/services/.services.php
относительно папки мастера.
При работе мастера создания сайта без файла wizard.php в файле .services.php определяется массив $arWizardServices.
Если же мастер работает с использованием файла wizard.php, то в файле .services.php определяется массив
$arServices
вида:
$arServices = array( "ID сервиса" => Array( "NAME" => имя сервиса, "STAGES" => Array( "файл шага установки", "файл шага установки", ), ), );
ID сервиса является также названием папки, где будут искаться описанные для него файлы шагов. Набор сервисов и шагов их установки нигде строго не регламентирован, но обычно используется такая структура:
$arServices = array( "main" => Array( "NAME" => Настройки сайта, "STAGES" => Array( "создание сайта", "копирование системных файлов и публичной части", "установка шаблона дизайна", "установка цветовой схемы", "создание групп пользователей", "настройка сайта", ), ), "iblock" => Array( "NAME" => Установка демо-данных, "STAGES" => Array( "создание типов инфоблоков", "установка 1 инфоблока", "установка 2 инфоблока", …………………………… "установка N инфоблока", ), ), );
Другие сервисы могут включать в себя настройку таких вещей, как форумы, блоги, веб-аналитика, рабочий стол, создание пользователей и т.д. В зависимости от того, что необходимо для данного решения.
Пример файла описания сервисов стандартного мастера demo_personal (bitrix.sitepersonal):
<? if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); $arServices = Array( "main" => Array( "NAME" => GetMessage("SERVICE_MAIN_SETTINGS"), "STAGES" => Array( "site_create.php", // Create site "files.php", // Copy bitrix files "template.php", // Install template "theme.php", // Install theme "settings.php", ), ), "iblock" => Array( "NAME" => GetMessage("SERVICE_IBLOCK"), "STAGES" => Array( "types.php", //IBlock types "user_photogallery.php", ), ), "blog" => Array( "NAME" => GetMessage("SERVICE_BLOG"), "STAGES" => Array( "index.php", ), ), ); ?>