omega80 Опубликовано 6 марта Поделиться Опубликовано 6 марта В связи с огромным количеством товара в системе Aimeos принято решение о разделении импорта на два направления: 1) Полный первичный импорт CSV всей информации о товаре, включая описание, характеристики и цены (сейчас получилось 86 столбцов); 2) Импорт только цен и остатков; Для решения данной задачи необходимо создать второй контроллер заданий, например "product/import/price". Расширить существующий класс \Aimeos\Controller\Jobs\Product\Import\Csv\Standard и перезаписать как минимум методы location() и mapping() для использования другого ключа конфигурации. После этого можно импортировать два разных вида файлов CSV с разными сопоставлениями столбцов, хранящимися в разных каталогах. Ссылка на комментарий Поделиться на другие сайты Поделиться
omega80 Опубликовано 6 марта Автор Поделиться Опубликовано 6 марта Ссылка на комментарий Поделиться на другие сайты Поделиться
omega80 Опубликовано 6 марта Автор Поделиться Опубликовано 6 марта return (string) $this->context()->config()->get( 'controller/jobs/product/import/csv/location', 'product' ); // second import file - only prices and stocks return (string) $this->context()->config()->get( 'controller/jobs/product/import/price/location', 'price' ); $map = (array) $this->context()->config()->get( 'controller/jobs/product/import/csv/mapping', $this->getDefaultMapping() ); if( !isset( $map['item'] ) || !is_array( $map['item'] ) ) { $msg = sprintf( 'Required mapping key "%1$s" is missing or contains no array', 'item' ); throw new \Aimeos\Controller\Jobs\Exception( $msg ); } return $map; // second import file - only prices and stocks $map = (array) $this->context()->config()->get( 'controller/jobs/product/import/csv/mappingprice', $this->getDefaultMapping() ); if( !isset( $map['item'] ) || !is_array( $map['item'] ) ) { $msg = sprintf( 'Required mappingprice key "%1$s" is missing or contains no array', 'item' ); throw new \Aimeos\Controller\Jobs\Exception( $msg ); } return $map; Ссылка на комментарий Поделиться на другие сайты Поделиться
omega80 Опубликовано 6 марта Автор Поделиться Опубликовано 6 марта Ссылка на комментарий Поделиться на другие сайты Поделиться
omega80 Опубликовано 6 марта Автор Поделиться Опубликовано 6 марта 1) Создаем каталог для нашего файла с ценами 2) Добавляем папку "Prices" в каталоге задач импорта: 3) Добавляем новые сопоставления столбцов для файла CSV с ценами: Ссылка на комментарий Поделиться на другие сайты Поделиться
omega80 Опубликовано 6 марта Автор Поделиться Опубликовано 6 марта Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти