Импорт и экспорт контента в Drupal 7

Создавая интернет-магазины, иногда приходится предусматривать возможность импорта/экспорта продуктов из csv/xml файлов.
До недавнего времени мне доводилось работать больше с импортом продуктов из CSV. С этой задачей с легкостью справляется модуль Feeds.
Иногда стандартного функционала модуля не хватало, поэтому ставился дополнительный модулек Feeds Tamper.
В двух словах, суть работы с модулем feeds в том, что создается импортер, в котором согласуются строки импортируемого файла с полями ноды.

 

import feeds Drupal7

Настройки импортера feeds видим 2 колонки: 1ая — заголовки CSV файла, 2ая — соответствующие им поля в ноде.
Все достаточно просто и безоблачно (было до недавнего времени).

 

 

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

Зачем это?

Сейчас поясню для чего нужны такие пляски. Представим, что у нас есть несколько идентичных интернет-магазинов по продаже Родины. Есть основной магазин и его копии (но с такой же структурой).
Мы добавляем в основной магазин ручками новые товары. А потом, чтобы не повторять то же самое на копиях магазина, нам нужно экспортировать все продукты и импортировать их через feeds на копиях. Это один из примеров.

После долгих блужданий наткнулся на модуль Views Data Export. Этот модуль позволяет производить экспорт нод через Views. А гибкость Views в свою очередь позволяет нам создавать файл с любыми полями, заголовками.

Установив модуль создаем новое представление:

views data export Drupal7


 

Затем добавляем новый вид отображения (Data export):

views data export Drupal7


Затем прописываем URL для страницы экспорта и добавляем неоходимые нам поля.
Также прилагаю скриншот настроек data export.

views export data Drupal7

Вывод 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

Коментувати

Простий текст

  • Не дозволено жодних HTML теґів.
  • Рядки й абзаци переносяться автоматично.
  • Адреси вебсторінок та адреси електронної пошти автоматично перетворюються у посилання.