Мне нужно импортировать CSV-файл в тип узла продукта.У меня есть CSV-файл с текущей схемой:
id | title | category | image_url
-------------------------------------
1 | Title 1 | 1 | http://example.com/1.jpg,http://example.com/2.jpg
2 | Title 2 | 2 | http://example.com/3.jpg
Как вы видите, у меня есть многозначное поле изображения, а также более одного изображения в столбце image_url.И это моя проблема.Я не могу импортировать узлы (и файлы), если в CSV-файле есть ячейки с несколькими ссылками (разделенные запятой).
Прежде чем я узнал, что мне нужно использовать более одного изображения для поля, яdoo next: моя CSV-схема была:
id | title | category | image_url
-------------------------------------
1 | Title 1 | 1 | http://example.com/1.jpg
2 | Title 2 | 2 | http://example.com/2.jpg
, а миграция .yml-файла была:
id: catalog_products_files
label: 'Import catalog products files'
migration_group: catalog_products
source:
plugin: csv
path: public://csv/products.csv
delimiter: ';'
# enclosure: '"'
header_row_count: 1
# These are the field names from the source file representing the key
# uniquely identifying each node - they will be stored in the migration
# map table as columns sourceid1, sourceid2, and sourceid3.
keys:
- id
column_names:
0:
id: 'Unique Id'
1:
title: 'Title'
2:
category: 'Product category'
3:
image_url: 'Image url'
constants:
status: 1
uid: 1
destination: 'public://migration-downloads/catalog/image.jpg'
ids:
id:
type: string
process:
uri:
-
plugin: download
source:
- image_url
- 'constants/destination'
rename: true
-
plugin: skip_on_empty
method: row
message: 'Field downloaded_photo is missed'
status: 'constants/status'
uid: 'constants/uid'
destination:
plugin: entity:file
migration_dependencies: {}
dependencies:
enforced:
module:
- custom_csv_import
- migrate_source_csv
И все импортировалось хорошо!Как я могу импортировать несколько изображений из одной строки?
Я использую Migrate Source CSV модуль для импорта CSV