Puncte:-1

Cum pot importa date din XML într-un tip de conținut folosind modulul Migrare?

drapel za

Am activat modulele Migrate, Migrate Plus și Migrate Tools. Am importat apoi un fișier de migrare la /admin/config/development/configuration/single/import.

id: beetween_jobs
etichetă: „Migrați între joburi din fișierul XML”
migration_group: implicit
sursă:
  plugin: xml
  data_fetcher_plugin: http
    # „simple_xml” este configurat pentru a putea folosi funcția de preluare „http”.
    data_parser_plugin: simple_xml
    URL-uri:
      - https://mywebsite/beetween.xml
    element_selector: /root/jobs
proces:
  titlu: titlu
  field_diffusion: difuzie
  field_faculty : facultate
destinaţie:
  plugin: 'entity:node'
  default_bundle: job
dependențe_migrație:
  necesar: {  }
  opțional: { }

Nu am găsit nicio documentație oficială, așa că am creat acel fișier pe baza unui tutorial.

Pe /admin/structure/migrate/manage/default/migrations, nu listează migrarea pe care am adăugat-o. Eu doar zic:

Il n'y a pas encore de Entités migration.

Ãchec de conectare la server de bază de données. Le server a renvoyé mesajul următor : Nicio conexiune la baza de date configurată pentru sursă variabila plugin.

Est-ce que le server 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
drapel in
Pentru început, cred că toate cheile sub sursă trebuie să fie indentate la fel, adică toate sunt copii direcți ai sursei.
sonfd avatar
drapel in
În timp ce a doua parte a mesajului de eroare vorbește despre o conexiune la baza de date, cred că nu se poate conecta la sursa de migrare (ceea ce cred că se datorează faptului că este indentată incorect în yml-ul tău).
Kevin avatar
drapel in
Destul de sigur că modulul migrate plus are un folder de exemple care demonstrează unele dintre acestea.
Puncte:0
drapel za

După cum a sugerat Kevin, inspirat de

migrate_plus.migration.wine_role_xml.yml

fișier din modulul migrate_plus, am reușit să-l fac să funcționeze ca atare:

id: beetween_jobs
etichetă: „Migrați între joburi din fișierul XML”
migration_group: implicit
sursă:
  # Folosim pluginul XML data parser.
  plugin: url
  data_fetcher_plugin: http
  data_parser_plugin: xml
  # În mod normal, aceasta este una sau mai multe adrese URL sau căi de fișiere complet calificate. pentru că
  # nu putem codifica URL-ul dvs. local, vă oferim aici o cale relativă care
  # hook_install() va rescrie la o adresă URL completă pentru site-ul curent.
  URL-uri:
    - https://my_website/files/ressources_docs/beetween.xml
  # Accesați adresa URL de mai sus (relativă la rădăcina site-ului dvs.) și priviți-o. Poti sa vezi
  # că <răspunsul> este elementul exterior și fiecare articol pe care dorim să-l importăm este a
  # <poziție> element. Valoarea item_xpath este xpath de utilizat pentru a interoga
  # elemente dorite.
  element_selector: /root/job
  # Sub „câmpuri”, listăm elementele de date care urmează să fie importate. Cheile de primul nivel
  # sunt numele câmpurilor sursă pe care dorim să le populăm (numele care vor fi folosite ca
  # surse în configurația procesului de mai jos). Pentru fiecare câmp pe care îl importăm,
  # oferim o etichetă (opțional - aceasta este pentru afișare în instrumentele de migrare) și
  # un xpath pentru recuperarea acelei valori. Este important de reținut că acest xpath
  # este relativ la elementele preluate de item_xpath.
  câmpuri:
    -
      nume: titlu
      etichetă: „titlu”
      selector: titlu
    -
      nume: difuzie
      etichetă: „difuzie”
      selector: difuzie
  # Sub „ID-uri”, identificăm câmpurile sursă populate mai sus, care vor fi unic
  # identificați fiecare articol importat. „Tipul” se asigură că tabelul hărții de migrare
  # folosește tipul de schemă adecvat pentru ID-urile stocate.
  ID-uri:
    titlu:
      tip: sfoară
proces:
  # Rețineți că numele câmpurilor sursă de aici (nume_mașină și nume_prieten) au fost
  # definit de configurația „câmpuri” pentru pluginul sursă de mai sus.
  titlu: titlu
  field_diffusion: difuzie
destinaţie:
  plugin: 'entity:node'
  default_bundle: job
dependențe_migrație:
  necesar: {  }
  opțional: { }

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.