UmiDump: Import
Импорт данных в 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 импортируемых объектов. Актуально для версий ниже 2.8.x, в новых версиях достаточно подключить один файл standalone.php для доступа к API.