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