Рейтинг:-1

Как я могу импортировать данные из XML в тип контента с помощью модуля Migrate?

флаг za

Я активировал модули Migrate, Migrate Plus и Migrate Tools. Затем я импортировал файл миграции в /admin/config/development/configuration/single/import.

идентификатор: beetween_jobs
label: 'Мигрировать между заданиями из файла XML'
миграция_группа: по умолчанию
источник:
  плагин: xml
  data_fetcher_plugin: http
    # 'simple_xml' сконфигурирован так, чтобы можно было использовать сборщик 'http'.
    data_parser_plugin: простой_xml
    URL:
      - https://mywebsite/beetween.xml
    item_selector: /корень/работы
процесс:
  название: название
  field_diffusion: диффузия
  field_faculty : факультет
пункт назначения:
  плагин: 'сущность: узел'
  default_bundle: работа
миграция_зависимости:
  обязательный: {  }
  по желанию: {  }

Я не смог найти никакой официальной документации, поэтому я создал этот файл на основе учебника.

В /admin/structure/migrate/manage/default/migrations добавленная мной миграция не указана. Я просто говорю:

Il n'y a pas encore de Entiteés миграция.

Ãchec de connexion au serveur de base de données. Le serveur a renvoyé le message suivant : для источника не настроено подключение к базе данных переменная плагина.

Est-ce Que le serveur de base de données fonctionne?
Est-ce que la base de données Existe et Avez-Vous saisi le bon nom de base?
Avez vous saisi les bons nom d'utilisateur et mot de passe?
Avez vous saisi le bon nom d'hôte de la base de données?

sonfd avatar
флаг in
Для начала я считаю, что все ключи в исходном коде должны иметь одинаковый отступ, т.е. все они являются прямыми дочерними элементами исходного кода.
sonfd avatar
флаг in
Хотя во второй части сообщения об ошибке говорится о подключении к базе данных, я считаю, что оно не может подключиться к источнику миграции (что, как я полагаю, связано с неправильным отступом в вашем yml).
Kevin avatar
флаг in
Почти уверен, что в модуле migrate plus есть папка с примерами, которая демонстрирует некоторые из них.
Рейтинг:0
флаг za

Как предположил Кевин, вдохновленный

migrate_plus.migration.wine_role_xml.yml

файл из модуля migrate_plus, мне удалось заставить его работать как таковой:

идентификатор: beetween_jobs
label: 'Мигрировать между заданиями из файла XML'
миграция_группа: по умолчанию
источник:
  # Мы используем плагин парсера данных XML.
  плагин: адрес
  data_fetcher_plugin: http
  data_parser_plugin: xml
  # Обычно это один или несколько полных URL-адресов или путей к файлам. Так как
  # мы не можем жестко закодировать ваш локальный URL, здесь мы указываем относительный путь, который
  # hook_install() перепишет полный URL текущего сайта.
  URL:
    - https://my_website/files/ressources_docs/beetween.xml
  # Посетите указанный выше URL (относительно корня вашего сайта) и посмотрите на него. Ты можешь видеть
  # что <response> является внешним элементом, и каждый элемент, который мы хотим импортировать, является
  # Элемент <позиция>. Значение item_xpath — это xpath, используемый для запроса
  # нужные элементы.
  item_selector: /корень/работа
  # В разделе «поля» мы перечисляем элементы данных, которые необходимо импортировать. Ключи первого уровня
  # — это имена исходных полей, которые мы хотим заполнить (имена, которые будут использоваться как
  # источники в конфигурации процесса ниже). Для каждого поля, которое мы импортируем,
  # указываем метку (необязательно - это для отображения в инструментах миграции) и
  # xpath для получения этого значения. Важно отметить, что этот xpath
  # относится к элементам, полученным с помощью item_xpath.
  поля:
    -
      имя: титул
      метка: 'название'
      селектор: заголовок
    -
      Название: диффузия
      метка: 'диффузия'
      селектор: диффузия
  # Под 'id' мы идентифицируем исходные поля, заполненные выше, которые будут уникальными
  # определить каждый импортированный элемент. «Тип» гарантирует, что таблица карты миграции
  # использует правильный тип схемы для сохраненных идентификаторов.
  идентификаторы:
    заглавие:
      тип: строка
процесс:
  # Обратите внимание, что имена исходных полей здесь (machine_name и friendly_name) были
  # определяется конфигурацией 'fields' исходного плагина выше.
  название: название
  field_diffusion: диффузия
пункт назначения:
  плагин: 'сущность: узел'
  default_bundle: работа
миграция_зависимости:
  обязательный: {  }
  по желанию: {  }

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.