diff --git a/src/Plugin/search_api/processor/RenderedItem.php b/src/Plugin/search_api/processor/RenderedItem.php index 5f29a9e..635f6d2 100644 --- a/src/Plugin/search_api/processor/RenderedItem.php +++ b/src/Plugin/search_api/processor/RenderedItem.php @@ -200,6 +200,9 @@ class RenderedItem extends ProcessorPluginBase { // @todo Why not just use \Drupal\Core\Session\UserSession directly here? $this->currentUser->setAccount(new UserSession(array('roles' => $this->configuration['roles']))); + // Count of items that don't have a view mode. + $empty_view_modes = 0; + // Annoyingly, this doc comment is needed for PHPStorm. See // http://youtrack.jetbrains.com/issue/WI-23586 /** @var \Drupal\search_api\Item\ItemInterface $item */ @@ -215,7 +218,8 @@ class RenderedItem extends ProcessorPluginBase { $datasource = $item->getDatasource(); $bundle = $datasource->getItemBundle($item->getOriginalObject()); if (empty($this->configuration['view_mode'][$datasource_id][$bundle])) { - $view_mode = 'default'; + $empty_view_modes++; + continue; } else { $view_mode = (string) $this->configuration['view_mode'][$datasource_id][$bundle]; @@ -225,6 +229,10 @@ class RenderedItem extends ProcessorPluginBase { $field->addValue($this->getRenderer()->renderPlain($build)); } + if ($empty_view_modes > 0) { + \Drupal::logger('search_api')->warning('Items without a view mode: ' . $empty_view_modes); + } + // Restore the original user. $this->currentUser->setAccount($original_user); }