Создавая интернет-магазины, иногда приходится предусматривать возможность импорта/экспорта продуктов из csv/xml файлов.
До недавнего времени мне доводилось работать больше с импортом продуктов из CSV. С этой задачей с легкостью справляется модуль Feeds.
Иногда стандартного функционала модуля не хватало, поэтому ставился дополнительный модулек Feeds Tamper.
В двух словах, суть работы с модулем feeds в том, что создается импортер, в котором согласуются строки импортируемого файла с полями ноды.
Настройки импортера feeds видим 2 колонки: 1ая — заголовки CSV файла, 2ая — соответствующие им поля в ноде.
Все достаточно просто и безоблачно (было до недавнего времени).
На днях пришлось поломать голову, как сделать экспорт существующего контента в csv файл.
Причем такой экспорт, что этот же файл, полученный в итоге, потом можно было бы импортировать через feeds без какого-либо шаманства.
То есть и экспортируемый и импортируемый файлы должны иметь одинаковую структуру, одни заголовки.
Зачем это?
Сейчас поясню для чего нужны такие пляски. Представим, что у нас есть несколько идентичных интернет-магазинов по продаже Родины. Есть основной магазин и его копии (но с такой же структурой).
Мы добавляем в основной магазин ручками новые товары. А потом, чтобы не повторять то же самое на копиях магазина, нам нужно экспортировать все продукты и импортировать их через feeds на копиях. Это один из примеров.
После долгих блужданий наткнулся на модуль Views Data Export. Этот модуль позволяет производить экспорт нод через Views. А гибкость Views в свою очередь позволяет нам создавать файл с любыми полями, заголовками.
Установив модуль создаем новое представление:
Затем добавляем новый вид отображения (Data export):
Затем прописываем URL для страницы экспорта и добавляем неоходимые нам поля.
Также прилагаю скриншот настроек data export.
Вывод image field в виде ссылки на изображение
В процессе настройки столкнулся с еще одной проблемой: views не хотел выводить урлы картинок, которые я загружал через image field.
Погуглив 5 минут нашел необходимый модуль Image URL Formatter, который добавляет новый форматтер для поля: url картинки.
Если вы импортируете товары в commerce, то вам необходим модуль commerce_feeds
(c)http://turbopxl.ru/drupal/import-i-eksport-kontenta-v-drupal-7
Коментувати