From 85b5fcff6e37d66b0de7a5e79a8aa1bd92a8680c Mon Sep 17 00:00:00 2001 From: bach Date: Fri, 16 Apr 2021 15:37:37 +0200 Subject: [PATCH] popsu_migrate: D7NodeProgramme sous partie paragraphe ok (missing node-reference on events) --- ...grate_plus.migration.d7_node_programme.yml | 7 +--- .../Plugin/migrate/source/D7NodeProgramme.php | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+), 6 deletions(-) diff --git a/web/modules/custom/popsu_migrate/config/install/migrate_plus.migration.d7_node_programme.yml b/web/modules/custom/popsu_migrate/config/install/migrate_plus.migration.d7_node_programme.yml index c12a3d14..29ef7a6b 100644 --- a/web/modules/custom/popsu_migrate/config/install/migrate_plus.migration.d7_node_programme.yml +++ b/web/modules/custom/popsu_migrate/config/install/migrate_plus.migration.d7_node_programme.yml @@ -62,12 +62,7 @@ process: field_textes: text_paragraphe - # field_popsu_special_insert_intro - # field_popsu_special_insert - # field_fichier: - # plugin: migration_lookup - # migration: d7_allpublicfiles - # source: fichiers + field_sous_parties: sous_parties field_fichier: plugin: sub_process diff --git a/web/modules/custom/popsu_migrate/src/Plugin/migrate/source/D7NodeProgramme.php b/web/modules/custom/popsu_migrate/src/Plugin/migrate/source/D7NodeProgramme.php index e180fdca..583e9264 100644 --- a/web/modules/custom/popsu_migrate/src/Plugin/migrate/source/D7NodeProgramme.php +++ b/web/modules/custom/popsu_migrate/src/Plugin/migrate/source/D7NodeProgramme.php @@ -87,6 +87,47 @@ class D7NodeProgramme extends D7Programme { $row->setSourceProperty('text_paragraphe', $text_paragraphe); // Sous partie + // looping through special_type + $sous_parties = array(); + foreach (['colloques', 'publications'] as $special_type) { + $ps = array(); + // looping through nodes + foreach ($associateds[$special_type] as $key => $special) { + // looping through fields + foreach (['field_popsu_special_body', 'field_popsu_special_text'] as $field) { + if (!empty($special[$field])) { + // creating the sous partie contents (sub paragraphes) + $text = $special[$field][0]; + $text[0]['format'] = 'wysiwyg'; + $p = Paragraph::create(['type' => 'sous_partie_programme_contents']); + $p->set('field_texte', $text) + ->set('field_titre', $special['title']) + // TODO ->set('field_liste_contenus',) migration_lookup on popsu_colloques -> evenements + ->isNew(); + $p->save(); + $ps[] = array( + 'target_id' => $p->id(), + 'target_revision_id' => $p->getRevisionId(), + ); + } + } + } + if (!empty($ps)) { + // creating sous partie (paragraphe) + $p = Paragraph::create(['type' => 'sous_partie_programme']); + $p->set('field_sous_partie_contenus', $ps) + ->set('field_titre', $special_type) + ->isNew(); + $p->save(); + $sous_parties[] = array( + 'target_id' => $p->id(), + 'target_revision_id' => $p->getRevisionId(), + ); + } + } + if (!empty($sous_parties)) { + $row->setSourceProperty('sous_parties', $sous_parties); + } // fichiers // files from current node