Тип импорта
Путь
Загружает файл импорта по внешней или внутренней ссылке

URL или путь на сервере - url адрес к файлу (например внешний сайт
https://site.ru/file.csv
или файл на вашем же сервере/upload/file.csv
)
Почта
Загружает файл импорта из почты по IMAP

Адрес сервера - адрес серера почты (например для Яндекс
imap.yandex.ru
)IMAP порт - порт соединения (например для Яндекс
993
)Имя пользователя - имя пользователя почты (например для Яндекс
[email protected]
)Пароль - пароль пользвателя почты (например пароль от почты или пароль приложения)
Email отправителя - почта отправителя, по которой будет отбор писем
Имя папки в почте - название папки почты откуда брать письма (по умолчанию это корень), для скорости загрузки, прайсы лучше складывать каждый в свою папку поставщика
FTP
Загружает файл импорта по FTP

Имя хоста - адрес хоста (IP или домен без протокола)
Порт - порт соединения (например
21
)Имя пользователя - логин для авторизации
Пароль - пароль для авторизации
Имя папки - название папки соединения (по умолчанию это корень)
Имя файла - название файла для скачивания
API
Пользовательская загрузка файла импорта через Ваш обработчик (для API не используются настройки типа файла)

<?php
class ASMP_MegaImport_Handler7 extends ASMP_MegaImport_Controller
{
public function getItems()
{
// указываем какие поля обновляем
$this->updateFields = array(
0 => array(
'name' => 'name',
'image' => 'image',
'props' => 'props',
)
);
// тут ваша логика получения данных из сервиса
$oCore_Http = Core_Http::instance()
->url($this->path)
->method('GET')
->timeout(10)
->execute();
$data = json_decode($oCore_Http->getDecompressedBody());
if(is_object($data) && isset($data->products))
{
foreach ($data->products as $product)
{
$this->total++;
$oObject = new StdClass();
$oObject->marking = $product->code;
$oObject->name = $product->name;
$oObject->producer = 'Samsung';
// добавление доп. свойства
$oParam = new StdClass();
$oParam->id = 123; // или $oParam->name = "Цвет";
$oParam->value = $product->color;
$oObject->props[] = $oParam;
// добавление изображения
$oObject->image[] = $product->image;
// import
$oShop_Item = $this->_importItem($oObject, $product);
if($oShop_Item === FALSE)
return $this;
}
}
$message = sprintf('%s: total %d', __FUNCTION__, $this->total);
ASMP_MegaImport_Log_Controller::instance()
->status(ASMP_MegaImport_Log_Controller::$MESSAGE)
->entity($this->ASMP_MegaImport_Log)
->write($message);
return FALSE;
}
}
Last updated