API реализующий функционал импорта данных из любого формата в Drupal Состоит из управляющего модуля importkit:
Состоит из:
- cml_store_content - Позволяет импортировать данные из формата CommerceML2
- cml_store_category - Позволяет строить категории из формата CommerceML2
- cml_store_price - Позволяет импортировать ценовые предложения из формата CommerceML2
- cml_store_stock - Позволяет импортировать остатки по складу из формата CommerceML2
- cml_store_example - Пример/шаблон позволяющий строить свои модули
Позволяет перехватить обработку на любой стадии создания или обновления информации по продукту или по ценовым предложениям
- hook_importkit_node($op, $node, $element)
- hook_importkit_product($op, $node, $element)
Позволяет работать с модулем через командную строку или по cron
- importkit-import - применяется для импортирования продуктов с ценами кол-вом итд
- importkit-update - применяется для обновления ранее импортированного или добавления нового
- importkit-remove - очистка/удаление всех ранее импортированных товаров
Пример вызова: drush importkit-import
- Импорт товарных позиций с описанием
- Импорт изображений
- Импорт полного списка категорий, с формированием словаря для каждой ищ категорий
- Импорт цен
- Импорт остатков
- Импорт атрибутов (Commerce)
- Импорт полей (создание полей)
- Настройка импорта (Каталог, Копирование или перемещение изображений, Привязка категорий к guid)
- Создание и экспорт ордеров (заказов)
Формат выгрузки CommerceML2 состоит из 2 файлов import.xml и offers.xml Пример выгрузки файла import.xml
<?xml version="1.0" encoding="UTF-8"?>
<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="2013-10-21T01:38:19">
<Классификатор>
<Ид>eb0cc8da-8b92-11e2-92bb-001e90df734f</Ид>
<Наименование>Классификатор (Каталог товаров)</Наименование>
<Владелец>
...
</Владелец>
<Свойства>
<Свойство>
<Ид>6d6b3acb-39b5-11e3-a14b-0800277be78f</Ид>
<Наименование>Размер</Наименование>
</Свойство>
</Свойства>
</Классификатор>
<Каталог СодержитТолькоИзменения="false">
<Ид>eb0cc8da-8b92-11e2-92bb-001e90df734f</Ид>
<ИдКлассификатора>eb0cc8da-8b92-11e2-92bb-001e90df734f</ИдКлассификатора>
<Наименование>Каталог товаров</Наименование>
<Владелец>
...
</Владелец>
<Товары>
<Товар>
<Ид>0b2538ca-8b9b-11e2-92bb-001e90df734f</Ид>
<Артикул>DA-5000</Артикул>
<Наименование>Наименование товара</Наименование>
<БазоваяЕдиница Код="796" НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница>
<Картинка/>
<ЗначенияСвойств>
<ЗначенияСвойства>
<Ид>6d6b3acb-39b5-11e3-a14b-0800277be78f</Ид>
<Значение>L</Значение>
</ЗначенияСвойства>
</ЗначенияСвойств>
<СтавкиНалогов>
...
</СтавкиНалогов>
<ЗначенияРеквизитов>
...
</ЗначенияРеквизитов>
</Товар>
</Товары>
</Каталог>
</КоммерческаяИнформация>
Пример выгрузки файла offers.xml
<?xml version="1.0" encoding="UTF-8"?>
<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="2018-05-29T19:28:03">
<ПакетПредложений СодержитТолькоИзменения="false">
<Ид>7eb6989b-eeec-11de-9e8f-0022150a55ba#</Ид>
<Наименование>Пакет предложений</Наименование>
<ИдКаталога>7eb6989b-eeec-11de-9e8f-0022150a55ba</ИдКаталога>
<ИдКлассификатора>7eb6989b-eeec-11de-9e8f-0022150a55ba</ИдКлассификатора>
<Владелец>
<Ид>03df95e3-551c-11e0-885c-18a905289932</Ид>
<Наименование>ООО"Импорт Кит"</Наименование>
<ОфициальноеНаименование>Общество с ограниченной ответственностью"Импорт Кит"</ОфициальноеНаименование>
<ИНН>7717777777</ИНН>
<КПП>77155555</КПП>
<ОКПО>68333111</ОКПО>
<РасчетныеСчета>
<РасчетныйСчет>
<НомерСчета>40702810800050002295</НомерСчета>
<Банк>
<СчетКорреспондентский>30101810900000000424</СчетКорреспондентский>
<Наименование>КБ "АЛЬТА-БАНК" (ЗАО)</Наименование>
<Адрес>
<Представление>, </Представление>
</Адрес>
<БИК>044525424</БИК>
</Банк>
</РасчетныйСчет>
</РасчетныеСчета>
</Владелец>
<ТипыЦен>
<ТипЦены>
<Ид>14c62ebf-676c-11e5-ac43-0050bf65cea3</Ид>
<Наименование>Оптовая китай Y</Наименование>
<Валюта>Юан</Валюта>
<Налог>
<Наименование>НДС</Наименование>
<УчтеноВСумме>false</УчтеноВСумме>
</Налог>
</ТипЦены>
<ТипЦены>
<Ид>03fa609e-5ca1-11e5-ac43-0050bf65cea3</Ид>
<Наименование>Оптовая сайт</Наименование>
<Валюта>руб</Валюта>
<Налог>
<Наименование>НДС</Наименование>
<УчтеноВСумме>true</УчтеноВСумме>
</Налог>
</ТипЦены>
</ТипыЦен>
<Склады>
<Склад>
<Ид>4356c1a1-f938-11de-9ea1-0022150a55ba</Ид>
<Наименование>Дем.зал</Наименование>
<Регион>ru</Регион>
</Склад>
<Склад>
<Ид>4356c19e-f938-11de-9ea1-0022150a55ba</Ид>
<Наименование>Основной </Наименование>
<Регион>ru</Регион>
</Склад>
<Склад>
<Ид>0b91f6d2-4637-11e8-a7f5-0050bf65cea3</Ид>
<Наименование>Алмата</Наименование>
<Регион>kz</Регион>
</Склад>
</Склады>
<Предложения>
<Предложение>
<Ид>cfb3fff4-08bb-11e4-8f29-0050bf65cea3</Ид>
<Штрихкод>2000068036001</Штрихкод>
<Артикул>0032 026 black DF</Артикул>
<Наименование>Барсетка 0032 026 black DF</Наименование>
<БазоваяЕдиница Код="796 " НаименованиеПолное="штука" МеждународноеСокращение="шт">шт</БазоваяЕдиница>
<Цены>
<Цена>
<Представление>4 858 руб. за шт</Представление>
<ИдТипаЦены>03fa609e-5ca1-11e5-ac43-0050bf65cea3</ИдТипаЦены>
<ЦенаЗаЕдиницу>4858</ЦенаЗаЕдиницу>
<Валюта>руб</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>
</Цена>
<Цена>
<Представление>291 Юань за шт</Представление>
<ИдТипаЦены>14c62ebf-676c-11e5-ac43-0050bf65cea3</ИдТипаЦены>
<ЦенаЗаЕдиницу>291</ЦенаЗаЕдиницу>
<Валюта>Юан</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>
</Цена>
</Цены>
<Остатки>
<ОстаткиСклада>
<Представление>Дем.зал</Представление>
<ИдСклада>4356c1a1-f938-11de-9ea1-0022150a55ba</ИдСклада>
<Регион>ru</Регион>
<Остаток>1</Остаток>
</ОстаткиСклада>
</Остатки>
<Количество>1</Количество>
</Предложение>
</Предложения>
</ПакетПредложений>
</КоммерческаяИнформация>
Автор: mirocow