Конфигурация для миграции статей (node:blog) из CSV файла

Это пример миграции данных из CSV файла в Drupal.

Данная миграция является основной в том смысле, что она ссылается на дочернюю миграцию, в ходе которой будут созданы параграфы (entity_reference_revisions:paragraph) с HTML контентом.

А далее мы используем migration_lookup, чтобы подтянуть айдишники параграфов и вставить их в нужное поле.

Мне нужно создать новую публикацию node:blog для каждой статьи из источника, которая представлена строкой в CSV файле (см. Описание входных данных). Картинка должна попасть в поле field_blog_image типа media reference (bundle: image).

Текст статьи должен превратится в параграф. В моем случает это параграф с машинным именем bp_simple, который помимо разных простых полей, имеет поле форматированного текста, куда и должен попасть исходный HTML. В блоге создано поле field_blog_components, оно как раз и является reference field для параграфов.

Файл конфигурации миграции custom_blog_csv_migrate_node:

Миграция использует пару кастомных обработчиков — term_generate и media_generate. По сути, мы могли бы следовать подходу аналогичному тому, что мы делаем в дочерней миграции, создавая параграфы.

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

В принципе, выбирая в качестве ключа URL файла, или имя термина, мы можем добиться нужного поведения от Drupal.

Написать комментарий

Мало букафф? Читайте есчо !

Чем заменить drupal_mkdir() в Drupal 10

Февраль 22, 2024 г.

В Drupal 10 множество функций работы с файловой системой было собрано в сервис file_system. В том числе и drupal_mkdir была перенесена туда. В общем случае это выглядит для D10 вот так: [crayon-674efc2d1634f896505747/]

Читать

Создание параграфов из CSV файла

Февраль 27, 2024 г.

Параграфы, оторванные от родительской entity нам не нужны, потому эта миграция является дочерней к рассматриваемому примеру миграции статей блога из CSV. Из всего набора полей источника нам требуется только два поля - это id и body. migrate_plus.migration.custom_text_to_paragraph.yml ...

Читать

 

Комментарии к «Конфигурация для миграции статей (node:blog) из CSV файла»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: