popsu_migrate: D7NodeTheme themes et projets liés refactored
This commit is contained in:
@@ -62,16 +62,21 @@ process:
|
||||
process:
|
||||
target_id:
|
||||
plugin: migration_lookup
|
||||
migration:
|
||||
- d7_node_projet
|
||||
- d7_node_theme
|
||||
migration: d7_node_theme
|
||||
source: nid
|
||||
|
||||
field_projets_lies:
|
||||
plugin: sub_process
|
||||
source: field_projets_lies
|
||||
process:
|
||||
target_id:
|
||||
plugin: migration_lookup
|
||||
migration: d7_node_projet
|
||||
source: nid
|
||||
# stub_id is not working :(
|
||||
stub_id: d7_node_projet
|
||||
|
||||
migration_dependencies:
|
||||
required:
|
||||
- d7_allpublicfiles
|
||||
- d7_users
|
||||
- d7_taxonomy_term_type_theme
|
||||
- d7_node_projet
|
||||
# - d7_node_projet
|
||||
|
@@ -169,10 +169,27 @@ class D7NodeTheme extends FieldableEntity {
|
||||
# Themes liés
|
||||
// merge the two ppossible field source
|
||||
$field_themes_lies = array();
|
||||
$field_projets_lies = array();
|
||||
if ($field_popsu_themloc_lies = $row->getSourceProperty('field_popsu_themloc_lies')) {
|
||||
// Drush::output()->writeln(dump($field_popsu_themloc_lies));
|
||||
foreach ($field_popsu_themloc_lies as $key => $value) {
|
||||
$field_themes_lies[] = $value;
|
||||
// check if theme
|
||||
$q = $this->select('node', 'n')
|
||||
->fields('n', ['nid','type'])
|
||||
->condition('n.nid', $value['nid'])
|
||||
->condition('n.type', ['popsu_theme_local', 'popsu_projet'], 'IN');
|
||||
$res = $q->execute()->fetchAll();
|
||||
if (!empty($res)) {
|
||||
Drush::output()->writeln(dump($res));
|
||||
switch ($res[0]['type']) {
|
||||
case 'popsu_theme_local':
|
||||
$field_themes_lies[] = $value;
|
||||
break;
|
||||
case 'popsu_projet':
|
||||
$field_projets_lies[] = $value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($field_popsu_themloc_comparatif = $row->getSourceProperty('field_popsu_themloc_comparatif')) {
|
||||
@@ -182,9 +199,13 @@ class D7NodeTheme extends FieldableEntity {
|
||||
}
|
||||
}
|
||||
if (!empty($field_themes_lies)) {
|
||||
Drush::output()->writeln(dump($field_themes_lies));
|
||||
// Drush::output()->writeln(dump($field_themes_lies));
|
||||
$row->setSourceProperty('field_themes_lies', $field_themes_lies);
|
||||
}
|
||||
if (!empty($field_projets_lies)) {
|
||||
// Drush::output()->writeln(dump($field_themes_lies));
|
||||
$row->setSourceProperty('field_projets_lies', $field_projets_lies);
|
||||
}
|
||||
|
||||
return parent::prepareRow($row);
|
||||
}
|
||||
|
Reference in New Issue
Block a user