popsu_migrate: D7NodeTheme programme ok
This commit is contained in:
@@ -26,12 +26,18 @@ process:
|
||||
created: created
|
||||
changed: changed
|
||||
|
||||
title: title
|
||||
|
||||
uid:
|
||||
plugin: default_value
|
||||
default_value: 34
|
||||
|
||||
title: title
|
||||
|
||||
field_programme:
|
||||
plugin: migration_lookup
|
||||
migration: d7_node_programme
|
||||
source: programme
|
||||
no_stub: true
|
||||
|
||||
migration_dependencies:
|
||||
required:
|
||||
- d7_allpublicfiles
|
||||
|
@@ -113,7 +113,45 @@ class D7NodeTheme extends FieldableEntity {
|
||||
|
||||
// Get Field API field values.
|
||||
foreach ($this->getFields('node', $type) as $field_name => $field) {
|
||||
$row->setSourceProperty($field_name, $this->getFieldValues('node', $field_name, $nid, $vid, NULL));
|
||||
$field_values = $this->getFieldValues('node', $field_name, $nid, $vid, NULL);
|
||||
$row->setSourceProperty($field_name, $field_values);
|
||||
switch ($field_name) {
|
||||
case 'field_popsu_themloc_popsu':
|
||||
$field_programme = $field_values;
|
||||
break;
|
||||
case 'field_popsu_themtrans_popsu':
|
||||
$field_programme = $field_values;
|
||||
break;
|
||||
case 'field_popsu_themeur_popsu':
|
||||
$field_programme = $field_values;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($field_programme) {
|
||||
Drush::output()->writeln(dump($field_programme));
|
||||
// get the nid of popsu_special from the tid of popsu for migration lookup
|
||||
// Select node in its last revision.
|
||||
$query = $this->select('node_revision', 'nr')
|
||||
->fields('n', ['nid','type','vid'])
|
||||
->fields('nr', ['vid']);
|
||||
$query->innerJoin('node', 'n', static::JOIN);
|
||||
$query->condition('n.type', 'popsu_special');
|
||||
# field_popsu_special_typetaxo
|
||||
# filter to get the right special type (colloques, publication, etc)
|
||||
$query->leftJoin('field_revision_field_popsu_special_typetaxo', 'ff', 'ff.revision_id = n.vid');
|
||||
$query->fields('ff', ['field_popsu_special_typetaxo_tid']);
|
||||
$query->condition('ff.field_popsu_special_typetaxo_tid', 31);
|
||||
# field_popsu_special_popsu
|
||||
# filter to get right popsu (popsu 1, popsu europe, etc)
|
||||
$query->leftJoin('field_revision_field_popsu_special_popsu', 'sp', 'sp.revision_id = n.vid');
|
||||
$query->fields('sp', ['field_popsu_special_popsu_tid']);
|
||||
$query->condition('sp.field_popsu_special_popsu_tid', $field_programme[0]['tid']);
|
||||
|
||||
$prog = $query->execute()->fetchAll();
|
||||
Drush::output()->writeln(dump($prog));
|
||||
|
||||
$row->setSourceProperty('programme', $prog[0]['nid']);
|
||||
}
|
||||
|
||||
return parent::prepareRow($row);
|
||||
|
Reference in New Issue
Block a user