Миграция терминов таксономии

Термины представляют из себя отдельные сущности, которые подключаются к родительской entity в виде term reference. Потому классический подход — это отдельная предварительная миграция терминов, а потом подключение их, используя migration_lookup плагин.

Но на практике, вы скорее всего будет иметь термины в виде текстовых меток. И вам удобнее будет обработать их «на лету», без дополнительной отдельной миграции.

Именно для этого я и написал небольшой миграционный обработчик, который преобразует текстовую метку в ссылку на термин (создаёт или находит существующий).

Вот код этого process plugin:

Он принимает $value (метку термина) и возвращает массив [‘target_id’ => TERMID].

В настройках можно указать в какой словарь должен попадать термин (destination_bundle).

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

В первом случае (field_blog_category) читается одиночный термин категории (category). Во втором — (field_blog_tag) список тегов, разделенных запятыми. При этом используется т.н. pipeline, где на первом шаге строка разбивается стандартным плагином explode, а дальше каждый термин передаётся в наш процессор term_generate.

Разместите данный плагин в вашем модуле (/src/Plugin/migrate/process), и сбросьте кеш, чтобы Drupal его зарегистрировал.

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

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

Март 2, 2024 г.

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

Читать

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 ...

Читать

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

Март 3, 2024 г.

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

Читать
 

Комментарии к «Миграция терминов таксономии»

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



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