1

I have a tid (taxonomy ID) and a csv file (which is a list of terms to remove during migration with columns : tid, name, delete ). The tid and CSV file are my sources for the migration.
How can I access (and process) values from both sources in my migration?
The tid is giving me the terms used as tags and the CSV file is to verify if the terms are listed on the CSV as term to be ignored (not added) during migration on the newly created node.

Something like :

process:     
#create temporary field to call plugin that gets the taxonomy
  _prepare_TaxonomyIssues:
    plugin: sub_process
    source: field_issues_ref
    process:
      target_id:
        -
         plugin: mm_taxonomy_tag_issues_plugin
         source: #tid
           - tid
           - plugin: csv
           path: public://allTagsDec6CleanedUpdated.csv
           header_row_count: 1
           keys:
             - tid
             - name
             - delete
           column_names:
             -
               tid: tid
             -
               name: name
             -
               delete: delete   

I am getting an error:

TypeError: Argument 2 passed to Drupal\Component\Utility\NestedArray::getValue() must be of the type array, null given, called in /var/www/mm/docroot/core/modules/migrate/src/Row.php on line 158 in /var/www/mm/docroot/core/lib/Drupal/Component/Utility/NestedArray.php on line 69 #0 /var/www/mm/docroot/core/modules/migrate/src/Row.php(158): Drupal\Component\Utility\NestedArray::getValue(Array, NULL, NULL)   

Is it possible to have 2 different sources?
Is there another way to do it?

2 Answers 2

2

You can't use two sources in the same migration. But if you can split your import into two separate migrations (e.g. taxonomies first, then nodes), you can use either migrate_lookup (if your 2nd source provides the same primary key as a previous master) or entity_lookup (if your 2nd source needs to look up the referenced entity by something else than the primary migration key).

Entity lookup is part of Migrate Plus.

1
  • I end up calling the CSV file in the migration file.
    – mamesaye
    Jan 9, 2019 at 3:08
0

You could try the Feeds module. There can be several inputs for one job.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.