Конфигурация для миграции статей (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.

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

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

Миграция картинки по URL в Media поле (Drupal)

Март 3, 2024 г.

Мне нужен был обработчик для migration API, который создаёт media entity по URL и возвращает его ID. Обработчики представляют из себя расширения ProcessPluginBase, которые нужно размещать в папке /src/Plugin/migrate/process вашего модуля. Файл ...

Читать

Подключение своих стилей для CKEditor 5 в Drupal

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

Чтобы добавить в редактор свои стили, обычно следуют гайду, который реализует hook mymodule_library_info_alter. При создании своих модулей для CKE5/D10, я так же пользовался данной статьей из документации. Но проблема была в том, что тот модуль, ...

Читать

 

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

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



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