UmiDump: Import

Материал из Umicms

Перейти к: навигация, поиск

Импорт данных в umi-cms. Для того чтобы научиться экспортировать данные читем тут UmiDump: Export

Содержание

Импорт umiDump

Проблема импортирования больших каталогов решается благодаря использованию standalone скрипта

В этом примере показано, как

  • подключить ядро umi-cms
  • указать домен в который необходимо осуществить импорт
  • указать языковую версию сайта, в которую будут импортироваться данные

Код

Подключение umi-cms

<?php
	//Переменная позволяет отключить переиндексацию свойств 
	//объекта происходящую после каждого $element->commit();
	define("CRON", "CLI");
	error_reporting(E_ALL ^ E_NOTICE);
 
	// UMI.CMS licensing
 
	$_SERVER['DOCUMENT_ROOT'] = dirname(dirname(__FILE__));
	chdir($_SERVER['DOCUMENT_ROOT'].'/');
	ini_set('include_path', $_SERVER['DOCUMENT_ROOT'].'/');
 
	//Домен в который необходимо осуществить импорт
	$_SERVER['HTTP_HOST'] = "blogs.umi-cms.ru";
	//Языковая версия сайта в которую будет осуществлен импорт
	$_REQUEST['path'] = "/en/admin/";
	//подключение ядра umi-cms
	include "./config.php";
	//Подключение классов используемых исключительно во время импорта данных
	include "./classes/umiImportRelations/iUmiImportRelations.php";
	include "./classes/umiImportRelations/umiImportRelations.php";
 
?>

Итак после подключения требуется выполнить код осуществляющий импорт файла.

<?php 
	//Создаем XML Импортер
	$xmlImporter = new umiXmlImporter();
	//Загружаем файл содержащий в себе структуру страниц.
	$xmlImporter->loadXmlFile("umiDumpFile.xml");
 
	//осуществляем преобразования
	$xmlImporter->analyzeXml();
 
	//Осуществляем импорт данных в систему
	$xmlImporter->importXml();
 
?>

Таблицы в базе данных UMI.CMS

В umi.cms реализован механизм поддерания связи между старыми и новыми объектами. Сохраняется связь на уровне уникальных идентификаторов из старой системы и их связь с новой системой.

cms3_import_sources

Таблица хранит в себе идентификаторы источников импорта указанные в заголовке файла umiDump

cms3_import_types

Таблица служит для хранения связи между идентификатором типа объекта из старой системы и новым типом

cms3_import_fields

В таблице содержатся исходные идентификаторы полей объекта и связь с полями в импортированном типе данных. Изменять идентификаторы полей в Шаблонах данных можно, т.к. связь на уровне "ID".

cms3_import_relations

Таблица отношений между старыми и новыми id импортируемых объектов.

Источник — «http://wiki.umisoft.ru/UmiDump:_Import»
Личные инструменты