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

Мне нужен был обработчик для migration API, который создаёт media entity по URL и возвращает его ID.

Обработчики представляют из себя расширения ProcessPluginBase, которые нужно размещать в папке /src/Plugin/migrate/process вашего модуля.

Файл /src/Plugin/migrate/process/MediaGenerate.php

Т.к. media сущность настраивается разработчиком, то в качестве параметров нужно указать bundle сущности (destination_bundle) и поле (destination_field), в которое будет записываться file reference. Ещё один параметр — это подкаталог pubic://, куда будет записана картинка — public_dir.

Логика работы следующая: сначала определяется место, куда будет записан файл, если такой файл уже есть в Drupal, то повторно его копировать не будем. Далее идет поиск/создание media entity. Если media элемент, указывающий на файл уже есть — вернем его ID, если нет, то создаём и получаем ID нового media entity.

Пример использования:

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

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

Добавляем настройки к js плагину CKEditor 5 в Drupal

Март 19, 2024 г.

Когда вы настраиваете форматы текстов, то кроме добавления иконок в toolbar wysiwyg, вы можете видеть набор настроек для разных плагинов CKEditor. Посмотрим ...

Читать

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

Март 2, 2024 г.

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

Читать

 

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

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



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