Дата последнего изменения: 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",
),
),
);
?>