Экспорт объектов в формате UMIDump 2.0 средствами API на примере заказов — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «'''Задача:''' Экспортировать объекты, экспорт/импорт которых не поддерживаются через модуль…»)
 
Строка 4: Строка 4:
 
В стандартных возможностях модуля "Обмен данными" присутствует экспорт заказов в формат CommerceML 2.0, но импорт заказов из данного формата отсутствует.
 
В стандартных возможностях модуля "Обмен данными" присутствует экспорт заказов в формат CommerceML 2.0, но импорт заказов из данного формата отсутствует.
  
Для решения поставленной задачи, с помощью средств API[http://api.docs.umi-cms.ru/razrabotka_nestandartnogo_funkcionala/primery_ispolzovaniya_vozmozhnostej_api/perenos_dannyh/], мы можем написать автономный скрипт на php, организующий экспорт необходимой нам информации в формат UMIDump 2.0 (получиться xml-файл), а уже из него в модуле "Обмен данными" мы сможем произвести импорт полученной информации в нужную нам систему.
+
Для решения поставленной задачи, с помощью средств API[http://api.docs.umi-cms.ru/razrabotka_nestandartnogo_funkcionala/primery_ispolzovaniya_vozmozhnostej_api/perenos_dannyh/], мы можем написать автономный скрипт на php, организующий экспорт необходимой нам информации в формат UMIDump 2.0 (получится xml-файл), а уже из него в модуле "Обмен данными" мы сможем произвести импорт полученной информации в нужную нам систему.
  
 
Вот скрипт, который реализует экспорт заказов в файл orders.xml, который появится в корне сайта после завершения работы скрипта. Сам скрипт необходимо также запускать из корня сайта.
 
Вот скрипт, который реализует экспорт заказов в файл orders.xml, который появится в корне сайта после завершения работы скрипта. Сам скрипт необходимо также запускать из корня сайта.

Версия 10:35, 4 октября 2012

Задача: Экспортировать объекты, экспорт/импорт которых не поддерживаются через модуль "Обратная связь"
Частный пример: Экспорт-Импорт списка заказов для переноса их из одной системы UMI.CMS в другую.

В стандартных возможностях модуля "Обмен данными" присутствует экспорт заказов в формат CommerceML 2.0, но импорт заказов из данного формата отсутствует.

Для решения поставленной задачи, с помощью средств API[1], мы можем написать автономный скрипт на php, организующий экспорт необходимой нам информации в формат UMIDump 2.0 (получится xml-файл), а уже из него в модуле "Обмен данными" мы сможем произвести импорт полученной информации в нужную нам систему.

Вот скрипт, который реализует экспорт заказов в файл orders.xml, который появится в корне сайта после завершения работы скрипта. Сам скрипт необходимо также запускать из корня сайта.

<?php
	include('standalone.php');

	$sel = new selector('objects');
	$sel->types('object-type')->name('emarket', 'order');
	
	$orders = $sel->result();
	
	$exporter = new xmlExporter('orders');
	$exporter->addObjects($orders);
	
	$result = $exporter->execute();
	
	file_put_contents('orders.xml', $result->saveXml());	
?>

Далее, в модуле "Обмен данными" мы создаем новый Импорт в формате UMIDump2.0, указываем полученный нами файл и производим импорт данных.

Тестировалось на версии 2.8.5.3