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 Опубликовано Четверг в 21:12 Автор Поделиться Опубликовано Четверг в 21:12 1) Создаем каталог для нашего файла с ценами 2) Добавляем папку "Prices" в каталоге задач импорта: 3) Добавляем новые сопоставления столбцов для файла CSV с ценами: Ссылка на комментарий Поделиться на другие сайты Поделиться
omega80 Опубликовано Четверг в 21:44 Автор Поделиться Опубликовано Четверг в 21:44 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти