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 импортируемых объектов.
