Как использовать модули Drupal Feeds и Feeds Tamper для простого импорта данных CSV
Модуль Feeds в Drupal 9 — это мощный инструмент для импорта внешних данных на ваш веб-сайт Drupal. Он поддерживает различные форматы, включая CSV, XML и JSON, и может импортировать контент в узлы, таксономии и другие сущности на вашем сайте Drupal. Чтобы улучшить процесс импорта, вы можете использовать модуль Feeds Tamper, который позволяет изменять данные перед их сохранением. В этом руководстве мы шаг за шагом расскажем, как использовать модуль Feeds вместе с Feeds Tamper для импорта данных из файла CSV.
- Необходимые модули:
- Установите и включите следующие модули:
- Создайте тип контента:
- Если у вас его еще нет, создайте тип контента для данных, которые вы хотите импортировать из файла CSV.

- Настройте импортер Feeds:
- Перейдите в раздел
Структура > Типы лент
- Нажмите
Добавить тип ленты
- Введите название и описание для вашего импортера
- Перейдите в раздел


- Настройте Fetcher:
- Нажмите на выпадающий список «Fetcher» и выберите, как вы хотите получать файл. Для этого руководства используйте
Upload File
(Загрузить файл), чтобы вручную загрузить файл CSV. См. изображения Fetcher a. и b. ниже.
- Нажмите на выпадающий список «Fetcher» и выберите, как вы хотите получать файл. Для этого руководства используйте


- Настройте Parser:
- Нажмите на выпадающий список «Parser», выберите
CSV
и настройте соответствующие параметры CSV, такие как разделитель, отсутствие заголовков. Настройки по умолчанию подойдут для большинства случаев. См. изображения ниже.
- Нажмите на выпадающий список «Parser», выберите


- Настройте Processor: Нажмите на выпадающий список «Processor» и выберите Node. Затем нажмите на выпадающий список «Content Type» и выберите целевой тип контента, а также настройте дополнительные параметры, такие как автор и язык по умолчанию. Выпадающий список Processor позволяет выбрать тип сущности, которая будет создана при импорте данных. См. изображения ниже.



Язык: Эта настройка позволяет выбрать язык для импортируемого контента.
Обновлять существующие элементы контента: Эта настройка определяет, как обрабатываются существующие элементы контента при импорте новых данных. Вы можете выбрать обновление существующих элементов контента, их не обновление или полную замену. Модуль будет использовать уникальные сопоставления, которые вы настроили, чтобы определить, какие элементы контента считаются «существующими» и должны быть обновлены или заменены.
Ранее импортированные элементы: Эта настройка позволяет выбрать, что делать с элементами, которые были ранее импортированы, но больше не присутствуют в ленте. Вы можете выбрать их сохранение или предпринять другие действия.
Срок действия элементов контента: Эта настройка позволяет указать, когда элементы контента должны быть удалены. Вы можете выбрать никогда не удалять их или установить определенный период времени, по истечении которого они будут удалены.
Владелец: Эта настройка позволяет указать владельца импортируемого контента. Вы можете выбрать автора ленты в качестве владельца или выбрать конкретного пользователя. Если оставить это поле пустым, владельцем будет установлен Аноним.
- Нажмите «Сохранить и добавить сопоставления»
- Сопоставьте поля CSV с полями типа контента:
- Нажмите на вкладку Mapping (Сопоставление): Это перенесет вас на страницу конфигурации сопоставления, где вы можете сопоставить исходные данные с целевыми полями.
- Сопоставьте столбцы CSV с полями типа контента, нажав Select a target (Выбрать цель): Это позволит вам выбрать целевое поле Drupal, с которым вы хотите сопоставить данные. Затем в столбце «Source» (Источник) выберите New CSV Source (Новый источник CSV) и введите имя столбца из вашего файла CSV, который содержит данные, которые вы хотите сопоставить с выбранным целевым полем.
- При необходимости настройте уникальные поля, чтобы избежать дублирования импорта: Это позволяет указать, какие поля должны использоваться для определения того, является ли импортируемый элемент дубликатом существующего элемента. Если дубликат найден, модуль может быть настроен на обновление или замену существующего элемента.
- Настройте другие параметры, такие как обработка языка: Это позволяет настроить дополнительные параметры для вашего импортера, например, как обрабатывать язык.
- Нажмите Save (Сохранить): Это сохранит ваше сопоставление и другие настройки конфигурации.

- Импортируйте данные с помощью импортера Feeds:
- Перейдите в раздел
Контент > Импортеры лент
- Нажмите
Import
(Импорт) для импортера, который вы создали ранее - Загрузите ваш файл CSV (если вы настроили загрузку файла в качестве fetcher)
- Нажмите
Import
(Импорт) - Импортированный контент теперь должен отображаться как узлы целевого типа контента на вашем сайте Drupal по адресу
/admin/content
- Перейдите в раздел
Используйте Feeds Tamper для манипулирования импортированными данными
Модуль Feeds Tamper — это дополнительный модуль для модуля Drupal Feeds, который позволяет изменять данные перед их импортом. Он предоставляет пользовательский интерфейс для добавления плагинов «tamper» к отдельным сопоставленным полям вашего импортера Feeds, которые могут выполнять различные задачи по манипулированию данными, такие как разделение, объединение или перезапись данных.
- Убедитесь, что модуль Feeds Tamper включен.
- Перейдите на страницу конфигурации вашего импортера ленты: Перейдите на страницу конфигурации импортера ленты, который вы хотите использовать с модулем Feeds Tamper. Вы можете сделать это, перейдя на страницу «Структура», затем нажав «Feeds» и выбрав импортер, который вы хотите настроить.
- Нажмите на вкладку «Tamper»: На странице конфигурации вашего импортера ленты нажмите на вкладку «Tamper», чтобы получить доступ к настройкам tamper.
- Добавьте плагины tamper к сопоставленным полям: В таблице настроек tamper найдите сопоставленное поле, к которому вы хотите добавить плагин tamper. В столбце «Plugin» (Плагин) для этого поля нажмите кнопку «Add plugin» (Добавить плагин). Выберите нужный плагин из списка доступных плагинов, затем настройте его параметры по мере необходимости.
- Сохраните изменения: После добавления и настройки всех нужных плагинов tamper нажмите кнопку «Save» (Сохранить), чтобы сохранить изменения.
- Повторите эти шаги для всех исходных столбцов, которые вы хотите изменить перед сохранением данных.
Сценарии использования модуля Feeds tamper
- Очистка данных: Вы можете использовать модуль Feeds Tamper для очистки данных перед их импортом. Например, вы можете использовать плагин «Find and replace» (Найти и заменить) для замены определенных слов или фраз в ваших данных.
- Преобразование данных: Вы можете использовать модуль Feeds Tamper для преобразования данных перед их импортом. Например, вы можете использовать плагин «Explode» (Разделить) для разделения одного поля на несколько значений или плагин «Implode» (Объединить) для объединения нескольких полей в одно значение. Плагин «Explode» полезен при сопоставлении нескольких полей, разделенных запятыми, из файла CSV с полем ссылки на таксономию.
- Фильтрация данных: Вы можете использовать модуль Feeds Tamper для фильтрации данных перед их импортом. Например, вы можете использовать плагин «Keyword Filter» (Фильтр по ключевым словам), чтобы импортировать только элементы, содержащие определенные ключевые слова.
- Перезапись данных: Вы можете использовать модуль Feeds Tamper для перезаписи данных перед их импортом. Например, вы можете использовать плагин «Rewrite» (Перезаписать) для изменения формата дат или чисел в ваших данных, или плагин «Pathauto» для автоматической генерации URL-алиасов для импортируемого контента.
И это все! Вы успешно настроили модуль Feeds в Drupal 9 для импорта и манипулирования данными из файла CSV с помощью модуля Feeds Tamper.