Курсы

Разработка решений для Marketplace: Импорт демо-данных

Разработка решений для Marketplace: Импорт демо-данных

Порядок установки

Импорт демо-данных осуществляется на шаге установки сервисов. Порядок установки ничем заранее не оговаривается, кроме внутренних зависимостей. Обычный порядок следующий:

  1. Создание самого сайта и установка его настроек.
  2. Копирование публичной части сайта и рекурсивная замена макроса #SITE_DIR#.
  3. Копирование выбранного на этапе установки шаблона сайта
  4. Копирование выбранной на этапе установки темы сайта поверх шаблона, с перезаписью.
  5. Создание всех типов инфоблоков.
  6. Создание инфоблоков и подстановка замена соответствующих макросов функцией CwizardUtil::ReplaceMacros(Путь к файлу, array(“Имя макроса без #” => Значение на замену)). Так как второй параметр - массив, то в одном файле можно произвести сразу несколько замен.
  7. Настройка блогов, форумов, статистики, рабочего стола и прочее.
  • Пользователи
  • Инфоблоки
  • Шаблоны

Пользователи

Импорт заранее подготовленного набора пользователей используется редко. В случае необходимости используется стандартный класс 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.

Примечание: При импорте торгового каталога, метод не создаст элементы этого каталога. Необходимо разделить xml-файл на 2. В первом описывается обычный инфоблок без цен, во втором - непосредственно цены.

В случае поддержки многосайтовости (или просто решения для Bitrix Marketplace) к символьному или внешнему коду инфоблока после его установки следует добавить и ID сайта. Следует заметить, что в функцию ImportIBlockFromXML подставляется код инфоблока без добавления ID сайта, само добавление происходит уже потом через создание метод Update класса CSite.

Шаблоны

При создании мастера с использованием файла wizard.php шаблоны располагаются в каталоге /site/templates/. Для уменьшения проблем с кодировками можно помещать их в каталог /site/templates/ID языка/, но лучше помещать русский текст в языковые файлы и вставлять через GetMessage. Кроме стандартных файлов каталог шаблона должен содержать следующие файлы:

  • description.php — файл описания шаблона, содержит массив $arTemplate. Обычно содержит два ключа: NAME для названия шаблона и DESCRIPTION для его описания. Набор ключей можно расширить, например, сортировкой, и установкой шаблона по умолчанию, если вы реализовали это переопределив метод WizardServices::GetTemplates.
  • screen.png — скриншот шаблона в нормальном размере. Обычно нигде не отображается.
  • preview.png — скриншот шаблона в уменьшенном размере, отображается на шаге выбора шаблона.
  • /themes/ - каталог с цветовыми схемами данного шаблона. Имеет ту же структуру, что и каталог самого шаблона, но содержит лишь зависящие от цветовой схемы файлы. Обычно это файлы стилей, screen.png и preview.png темы, а также некоторые шаблоны компонентов.

Примечание: Расширение и расположение файлов screen.png и preview.png задается конкретной реализацией шагов установки шаблона и темы в файле wizard.php.

Курсы разработаны в компании «1С-Битрикс»

!Прокрутить вверх

🚀 Нужна помощь с сайтом на 1С-Битрикс или Аспро?

Я работаю удалённо по всей России и СНГ. Узнайте цены и условия для вашего города:

Все регионы →