Тема: Импорт товаров и остатков через CSV
Доброго времени суток.
Пытаюсь автоматизировать процесс выгрузки из самописного 1C на сайт, с помощью CSV.
Остановился на самом процессе импорта.
Подскажите как работать с данной функцией из \Main\Controller\Admin\Csv
actionProcessImport ($schema_def = null, $filename_def = null, $referer_def = null )
И вообще, это та функция, которая мне нужна?
Как указываются схема и CSV файл при импорте? Файлы берутся из папки.
UPD:
Посидел с отладчиком, и слепил себе такой костыль из функции actionProcessImport, но работает)))
Не поможете привести код в порядок и почистить от ненужных строк? Или наоборот вернуть нужные) Не хотелось бы сюрпризов в дальнейшем.
- Использую стандартные схемы catalog-dir, catalog-product ...
- В $file идет полный путь к файлу .csv
Сам код:
function processImport($schema, $file)
{
if ($schema && $file) {
$start_pos = 0;
$config = \RS\Config\Loader::byModule('main');
if ($csv_schema = \RS\Csv\AbstractSchema::getByShortName($schema)) {
$csv_schema->setAction('import');
$csv_file = $file;
$csv_columns = $csv_schema->analizeColumns($csv_file);
$columns = $csv_columns['schema']; //Сопоставленные колонки
//Проверяем шаблон импорта
$csv_schema->validateImportWorkField($columns);
//Подтверждение шаблона
$csv_schema->setWorkFields($columns);
//Начинаем импортировать строки
if ($csv_schema->import($csv_file, $config['csv_check_timeout'], $start_pos))
return true;
else return false;
} else return false;
} else return false;
}