Дата последнего изменения: 23.09.2021
Импорт демо-данных осуществляется на шаге установки сервисов. Порядок установки ничем заранее не оговаривается, кроме внутренних зависимостей. Обычный порядок следующий:
#SITE_DIR#.Импорт заранее подготовленного набора пользователей используется редко. В случае необходимости используется стандартный класс CSVUserImport, входящий в состав модуля main.
Данные инфоблоков в мастере создания сайта хранятся в виде xml файлов, сформированных с помощью стандартного экспорта инфоблоков Bitrix Framework. Эти файлы, а также папки с дополнительными файлами, получающиеся в результате экспорта, обычно помещаются в каталог /xml/ID языка/. В самом простом случае файл установки инфоблока включает следующий код:
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)
die();
if(!CModule::IncludeModule("iblock"))
return;
$iblockID = WizardServices::ImportIBlockFromXML(
WIZARD_SERVICE_RELATIVE_PATH."/xml/".LANGUAGE_ID."/feedback.xml",
"iblockCode",
"iblockType",
WIZARD_SITE_ID,
$permissions = Array(
"1" => "X",
"2" => "R",
)
);
if ($iblockID < 1)
return;
CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH."/feedback/new.php", array("FEEDBACK_IBLOCK_ID" => $iblockID));
Функция
WizardServices::ImportIBlockFromXML
(function ImportIBlockFromXML
($xmlFile,
$iblockCode,
$iblockType,
$siteID,
$permissions = Array()
)
)
WizardServices::ImportIBlockFromXML (function ImportIBlockFromXML($xmlFile, $iblockCode, $iblockType, $siteID, $permissions = Array())) проверяет наличие инфоблока с символьным кодом $iblockCode, типом $iblockType для сайта $siteID. Если инфоблок не найден, то он устанавливается из файла $xmlFile. Путь к файлу указывается с подстановкой стандартной константы WIZARD_SERVICE_RELATIVE_PATH.
В случае поддержки многосайтовости (или просто решения для Bitrix Marketplace) к символьному или внешнему коду инфоблока после его установки следует добавить и ID сайта. Следует заметить, что в функцию ImportIBlockFromXML подставляется код инфоблока без добавления ID сайта, само добавление происходит уже потом через создание метод Update класса CSite.
При создании мастера с использованием файла wizard.php шаблоны располагаются в каталоге /site/templates/. Для уменьшения проблем с кодировками можно помещать их в каталог /site/templates/ID языка/, но лучше помещать русский текст в языковые файлы и вставлять через GetMessage. Кроме стандартных файлов каталог шаблона должен содержать следующие файлы:
$arTemplate. Обычно содержит два ключа: NAME для названия шаблона и DESCRIPTION для его описания. Набор ключей можно расширить, например, сортировкой, и установкой шаблона по умолчанию, если вы реализовали это переопределив метод WizardServices::GetTemplates.