3 namespace Drupal\node\Plugin\migrate\source\d6;
6 * The view mode source.
10 * source_provider = "content"
13 class ViewMode extends ViewModeBase {
18 protected function initializeIterator() {
20 $result = $this->prepareQuery()->execute();
21 while ($field_row = $result->fetchAssoc()) {
22 $field_row['display_settings'] = unserialize($field_row['display_settings']);
23 foreach ($this->getViewModes() as $view_mode) {
24 // Append to the return value if the row has display settings for this
25 // view mode and the view mode is neither hidden nor excluded.
26 // @see \Drupal\field\Plugin\migrate\source\d6\FieldInstancePerViewMode::initializeIterator()
27 if (isset($field_row['display_settings'][$view_mode]) && $field_row['display_settings'][$view_mode]['format'] != 'hidden' && empty($field_row['display_settings'][$view_mode]['exclude'])) {
28 if (!isset($rows[$view_mode])) {
29 $rows[$view_mode]['entity_type'] = 'node';
30 $rows[$view_mode]['view_mode'] = $view_mode;
36 return new \ArrayIterator($rows);
42 public function query() {
43 $query = $this->select('content_node_field_instance', 'cnfi')
54 public function fields() {
56 'display_settings' => $this->t('Serialize data with display settings.'),
63 public function getIds() {
64 $ids['view_mode']['type'] = 'string';
71 public function calculateDependencies() {
72 $this->dependencies = parent::calculateDependencies();
73 if (isset($this->configuration['constants']['targetEntityType'])) {
74 $this->addDependency('module', $this->entityManager->getDefinition($this->configuration['constants']['targetEntityType'])->getProvider());
76 return $this->dependencies;