Назад к блогу

Как использовать плагин Explode в модуле Feeds Tamper Drupal с примером CSV – Краткое руководство

2023-05-317 мин чтения

Drupal предоставляет множество плагинов и модулей, которые расширяют его основную функциональность. Модуль Feeds, который позволяет импортировать или агрегировать данные как узлы, пользователей, термины таксономии и многое другое из файлов CSV или RSS, является примером такого расширения. Для дальнейшей обработки этих импортированных данных вы можете использовать модуль Feeds Tamper.

Модуль Feeds Tamper содержит полезный инструмент под названием плагин Explode. Этот плагин может разбивать данные из вашего источника на более мелкие части, что особенно полезно при импорте данных из файлов CSV.

Еще одним важным модулем в этой настройке является Feeds Tamper Extensible Parser Module. Этот модуль расширяет функциональность Feeds Tamper и предоставляет дополнительные плагины, включая парсер CSV, необходимый для нашего примера.

Предварительные требования:

Прежде чем мы начнем, убедитесь, что у вас есть следующее:

  1. Веб-сайт Drupal 8, 9 или 10 установлен и работает.
  2. Модули Feeds, Feeds Tamper и Feeds Tamper Extensible Parser установлены и включены. Вы можете установить эти модули через панель администратора Drupal или с помощью инструментов командной строки Drupal Console/Drush.

Пошаговое руководство:

Для углубленного изучения модулей Drupal Feeds и Feeds Tamper я настоятельно рекомендую ознакомиться с этим подробным руководством: Как использовать модули Drupal Feeds и Feeds Tamper для простого импорта данных CSV. Оно предоставляет дополнительную информацию, которая может быть полезна по мере продвижения.

Шаг 1: Импорт файла CSV

Во-первых, нам нужно настроить ленту для импорта файла CSV. В панели администратора Drupal перейдите в раздел Структура -> Feeds -> Добавить тип ленты. Присвойте ему заголовок и описание. Для параметра Fetcher выберите File Upload. Для Parser выберите CSV parser. Наконец, для Processor выберите Node processor, если вы хотите создавать узлы из данных CSV.

Шаг 2: Настройка парсера CSV

Далее нам нужно сообщить Drupal о структуре нашего файла CSV. На странице настроек вашего недавно созданного типа ленты нажмите на настройку CSV parser. Здесь вы можете настроить разделитель (обычно запятую) и количество строк заголовка. Убедитесь, что имена столбцов в вашем файле CSV совпадают с именами полей в Drupal.

Шаг 3: Настройка плагина Explode и создание сопоставлений полей

Перед настройкой плагина Explode вам потребуется создать сопоставления для ваших данных CSV. Сопоставления устанавливают связь между данными в столбцах CSV и полями в вашем типе контента Drupal.

Чтобы создать сопоставление:

  1. Перейдите в настройки «Feeds importer» и нажмите на раздел «Mapping».
  2. Отсюда вы можете сопоставить исходные столбцы в вашем файле CSV (например, «Author», «Tags» и т. д.) с соответствующими целевыми полями в вашем типе контента Drupal (например, «field_author», «field_tags» и т. д.).

После настройки сопоставлений вы можете применить плагин Explode к соответствующим полям. В нашем случае это может быть поле «Author» или поле «Tags», если они содержат несколько значений, которые необходимо разделить.

После настройки сопоставления вы можете применить плагин Explode к любым полям с несколькими значениями, которые вы хотите разделить.

Чтобы настроить плагин Explode:

  1. Перейдите на вкладку «Tamper». Здесь вы увидите список всех сопоставленных полей.
Feeds Tamper Module
Вкладка Tamper
  1. Найдите поле, к которому вы хотите применить плагин Explode, и нажмите ссылку «Add plugin», связанную с этим полем.
  1. В выпадающем меню выберите плагин «Explode».
  1. Настройте параметры плагина в соответствии с вашими потребностями, например, указав разделитель, который разделяет несколько значений в вашем поле.
Настройки плагина Explode
  1. Нажмите «Submit», чтобы применить плагин Explode к выбранному полю.

Опция «Limit»

Когда вы используете плагин Explode для разделения поля на несколько значений, вы можете указать «Limit» (Ограничение), чтобы контролировать, на сколько частей будет разделено поле.

Например, если у вас есть поле со значением «apple, banana, cherry, date», и вы используете плагин Explode с запятой в качестве разделителя и устанавливаете ограничение 2, поле будет разделено всего на две части: «apple» и «banana, cherry, date».

Эта опция «Limit» особенно полезна, когда вы знаете максимальное количество частей, на которые вы хотите разделить поле, или когда вы хотите сохранить часть поля как единое значение.

Если вы оставите опцию «Limit» пустой или установите для нее большое значение, плагин разделит поле на максимально возможное количество частей на основе указанного вами разделителя.

Шаг 4: Импорт данных

После настройки всех параметров вы готовы импортировать файл CSV. Перейдите в раздел Content -> Feeds -> Add Feed. Загрузите ваш файл CSV и нажмите кнопку Import. Drupal теперь импортирует данные из вашего файла CSV, разделяя любые поля данных в соответствии с вашими настройками Explode.

Сценарии использования

  1. Миграция контента: Если вы мигрируете контент из другой CMS в Drupal, вы можете столкнуться с ситуацией, когда экспорт CSV содержит несколько значений в одном поле. Например, запись в блоге может иметь несколько авторов, перечисленных в одном поле «Author». Аналогично, несколько терминов таксономии, связанных с одним элементом контента, могут быть сгруппированы в одном поле. В таких сценариях плагин Explode может быть бесценным. Он позволяет разделить эти поля во время процесса импорта, эффективно разделяя нескольких авторов на отдельные поля и группируя термины таксономии в отдельные записи в Drupal.
  2. Импорт продуктов: Если вы управляете веб-сайтом электронной коммерции и у вас есть каталог продуктов в файле CSV, где одно поле содержит несколько тегов или категорий, разделенных разделителем, плагин Explode может разделить эти теги на отдельные значения при импорте каталога.
  3. Управление событиями: Если вы управляете событием и у вас есть файл CSV с данными сессий, а некоторые сессии имеют несколько докладчиков, перечисленных в одном поле «Speaker», плагин Explode может использоваться для разделения их на отдельные значения докладчиков во время импорта.
  4. Импорт пользователей: Если вы импортируете данные пользователей из файла CSV и у вас есть столбец «Roles» с несколькими ролями для пользователя, разделенными разделителем, плагин Explode может разделить их на отдельные роли.
  5. Импорт данных о местоположении: Если вы импортируете данные о местоположении, где адрес, город, штат и почтовый индекс находятся в одном поле, вы можете использовать плагин Explode для разделения их на отдельные поля во время импорта.

Заключение

Модуль Feeds Tamper — это удобный инструмент в Drupal, который позволяет контролировать и настраивать данные во время импорта. Благодаря своей коллекции плагинов, таких как Explode, он может разбивать данные из таких источников, как файлы CSV, и аккуратно сопоставлять их с полями Drupal.

Этот модуль вместе с модулями Feeds и Feeds Tamper Extensible Parser отлично подходит для разбиения данных на более мелкие части и правильного размещения их на вашем сайте Drupal. Он особенно хорошо справляется с полями, имеющими более одного значения, например, со списком авторов для записи в блоге.

Независимо от того, мигрируете ли вы данные из другой системы или импортируете большой файл CSV, модуль Feeds Tamper может сделать процесс более плавным и точным. Это отличный инструмент в вашем наборе инструментов Drupal для точного контроля над вашим контентом.


Категории: