You are here

protected function ViewMode::initializeIterator in Drupal 8

Same name in this branch
  1. 8 core/modules/node/src/Plugin/migrate/source/d6/ViewMode.php \Drupal\node\Plugin\migrate\source\d6\ViewMode::initializeIterator()
  2. 8 core/modules/field/src/Plugin/migrate/source/d7/ViewMode.php \Drupal\field\Plugin\migrate\source\d7\ViewMode::initializeIterator()
Same name and namespace in other branches
  1. 9 core/modules/field/src/Plugin/migrate/source/d7/ViewMode.php \Drupal\field\Plugin\migrate\source\d7\ViewMode::initializeIterator()

Initializes the iterator with the source data.

Return value

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

Overrides FieldInstance::initializeIterator

File

core/modules/field/src/Plugin/migrate/source/d7/ViewMode.php, line 18

Class

ViewMode
The view mode source class.

Namespace

Drupal\field\Plugin\migrate\source\d7

Code

protected function initializeIterator() {
  $instances = parent::initializeIterator();
  $rows = [];
  foreach ($instances
    ->getArrayCopy() as $instance) {
    $data = unserialize($instance['data']);
    foreach (array_keys($data['display']) as $view_mode) {
      $key = $instance['entity_type'] . '.' . $view_mode;
      $rows[$key] = array_merge($instance, [
        'view_mode' => $view_mode,
      ]);
    }
  }
  return new \ArrayIterator($rows);
}