Миграция картинки по 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.

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

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

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

Как подставить файл-источник при запуске миграции из CSV файла

Март 4, 2024 г.

При работе с migration API в друпал, в документации предполагается, что вы задаёте файл в секции source как значение path. (Подразумевается, что вы используете модуль migrate_source_csv). Хотелось бы делать это через интерфейс, а не конфигурационные ...

Читать

Drupal migration из CSV файла

Март 1, 2024 г.

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

Читать

 

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

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



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