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

Март 1, 2024 г.

API миграции в Drupal позволяет "тащить" данные из разных источников, но работает это на базе контрибных модулей, т.е. не из коробки. Например, модуль migrate_source_csv добавляет возможность добавить CSV файл как источник данных. Создание каких ...

Читать

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

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

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

Читать

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

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

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

Читать

Подготовить библиотеки требуемые модулем webform

Март 21, 2024 г.

Webform объявляет множество библиотек, которые может использовать в webform.libraries.yml. Но устанавливать их предлагается так или иначе самостоятельно, т.к. их наличие ожидается в папке /libraries. Использование merge плагина Помимо описания ...

Читать
 

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

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



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