You are here

protected function MigrateExternalTranslatedTestSource::initializeIterator in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/migrate/tests/modules/migrate_external_translated_test/src/Plugin/migrate/source/MigrateExternalTranslatedTestSource.php \Drupal\migrate_external_translated_test\Plugin\migrate\source\MigrateExternalTranslatedTestSource::initializeIterator()
  2. 9 core/modules/migrate/tests/modules/migrate_external_translated_test/src/Plugin/migrate/source/MigrateExternalTranslatedTestSource.php \Drupal\migrate_external_translated_test\Plugin\migrate\source\MigrateExternalTranslatedTestSource::initializeIterator()

Initializes the iterator with the source data.

Return value

\Iterator Returns an iterable object of data for this source.

Overrides SourcePluginBase::initializeIterator

File

core/modules/migrate/tests/modules/migrate_external_translated_test/src/Plugin/migrate/source/MigrateExternalTranslatedTestSource.php, line 63

Class

MigrateExternalTranslatedTestSource
A simple migrate source for our tests.

Namespace

Drupal\migrate_external_translated_test\Plugin\migrate\source

Code

protected function initializeIterator() {
  $data = [];

  // Keep the rows with the right languages.
  $want_default = $this->configuration['default_lang'];
  foreach ($this->import as $row) {
    $is_english = $row['lang'] == 'English';
    if ($want_default == $is_english) {
      $data[] = $row;
    }
  }
  return new \ArrayIterator($data);
}