Добавление нескольких файлов в многозначное поле через csv

Главные вкладки

Аватар пользователя venseven venseven 14 апреля 2020 в 17:02

Доброго времени суток!

Файлы добавлены как сущности друпала, их более 10К. У типа материала есть неограниченное поле field_files с включенным параметром "Описание". Как прикрепить файлы к полю field_files с подполями display и description из csv файла?

Пробовал проделать с помощью модулей csv_importer и migrate_source_csv.

1) При использовании модуля csv_importer мой csv-файл такого содержания:

nid, title, field_files|target_id, field_files|display, field_files|description
53, Заголовок страницы, 111, 1, Описание файла №1
53, Заголовок страницы, 222, 0, Описание файла №2
53, Заголовок страницы, 333, 1, Описание файла №3
127, Заголовок другой страницы, 444, 1, Описание файла №4
127, Заголовок другой страницы, 555, 1, Описание файла №5
127, Заголовок другой страницы, 666, 0, Описание файла №6

но прикрепляются только последние файлы, то есть в примере к полю материала с nid=53 прикрепляется файл с fid=333, а в материале с nid=127 - только файл с fid=666.

Поменял структуру csv-файла (по инструкции самого модуля):

nid, field_files, field_files, field_files
53, 111, 222, 333
127, 444, 555, 666

тогда прикрепляются все файлы к полю как надо, но как в этом случае импортировать подполя display и description?

2) С модулем migrate_source_csv через drush - csv-файл почти такой же и результат тот же.

Может это очень просто делается, но я уже голову сломал... Буду признателен за любую помощь.

Лучший ответ

Аватар пользователя VasyOK VasyOK 15 апреля 2020 в 11:40
1

через feeds tamper задаете explode для поля и указываете разделитель запятую.

"Я так понимаю, этот механизм каждый раз перезаписывает единственную запись в поле, если nid совпадает в строке csv." я вас не очень понимаю, но обновляет по поле с маркером "уникальный".

Комментарии

Аватар пользователя ivnish ivnish 14 апреля 2020 в 17:03

Мне кажется проще свой кастомный импорт написать, чем пытаться контриб под вашу задачу подстроить

Аватар пользователя venseven venseven 15 апреля 2020 в 11:28

Почему, нравится, feeds - хороший модуль, через него тоже пробовал делать - результат тот же, привязка идет только последнего файла. Я так понимаю, этот механизм каждый раз перезаписывает единственную запись в поле, если nid совпадает в строке csv.

Аватар пользователя VasyOK VasyOK 15 апреля 2020 в 11:40
1

через feeds tamper задаете explode для поля и указываете разделитель запятую.

"Я так понимаю, этот механизм каждый раз перезаписывает единственную запись в поле, если nid совпадает в строке csv." я вас не очень понимаю, но обновляет по поле с маркером "уникальный".