Всего можно выделить четыре типа файлов описания:
- .description.php — файл описания мастера создания сайта;
- .templates.php — файл описания шаблонов сайта;
- .services.php — файл описания сервисов сайта;
- .sites.php — файл описания типов сайта.
Файл .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",
),
),
);
?>
Курсы разработаны в компании «1С-Битрикс»
!Прокрутить вверх