Импорт и экспорт контента в 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

  • Допустимые HTML-теги: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.