Импорт товаров из EXEL в Drupal commerce. Часть 2.

Average: 2.8 (14 votes)

Во втрой части мы научимся заполнять множественные поля (изображения) и запускать авматический импорт продуктов после ипорта Product variation.

Для импорта мультиполей, в частности изображений нам понадобиться модуль Feeds Tamper. Модуль позволяет модифицировать данные импорта перед их сохранением.

Схема следующая: 

1. В нашем ексель файлике мы указываем, через запятую(или любой другой разделитель) список изображений

Все изображения перед импортом должны быть помещены в папку sites/deafult/files/export на сервере. После разделителя "," не должно быть пробелов, либо если они есть их придеться обрезать в Tamper

2. Настравиаем Feeds Tamper. Добавляем разделитель и в качестве разделтеля указываем запятую.

Замечание:  В настройках импорта необходимо выбирать URI для изображений, так как изображения будут импортироваться из локальной папки.

На этом насйтроки Tamper для импорта множетсенного значения изображений можно считать законченными.

Следующий наш шаг - это добиться, чтобы при завершении импорта Product variation запускался импорт Production (неопосредтсвенно создание нод из товаров).

В этом нам поможет модуль Feeds Rules 

Создаем новое правило с такими параметрами

В разделе действие добавляем "Выполнение собственного PHP кода"

и вставляем непосредтсвенно сам код

$myFeed = feeds_source('product'); // Получем feeds импорта товаров нод

$config =  $source->getConfig(); // $source - это переменные дотспные нам в самом дейтсвии. В данном случае это fedds Product variation
dpm($config);
$source = $config['FeedsFileFetcher']['source']; // получаем путь где храниться загруженный файл Exel
dpm( $source);
$config = array('FeedsFileFetcher'=>array('source'=> $source)); //указываем этот путь для feeds Product
$myFeed->addConfig($config);
$myFeed->save(); // сохраняем
while (FEEDS_BATCH_COMPLETE != $myFeed->import()); // запускаем импорт

Поделитесь статьей