diff --git a/core/lib/Drupal/Core/Entity/EntityViewBuilder.php b/core/lib/Drupal/Core/Entity/EntityViewBuilder.php index 5883eea..e4dbc6d 100644 --- a/core/lib/Drupal/Core/Entity/EntityViewBuilder.php +++ b/core/lib/Drupal/Core/Entity/EntityViewBuilder.php @@ -9,13 +9,13 @@ use Drupal\Core\Cache\Cache; use Drupal\Core\Entity\Display\EntityViewDisplayInterface; +use Drupal\Core\Entity\Entity\EntityViewDisplay; use Drupal\Core\Field\FieldItemInterface; use Drupal\Core\Field\FieldItemListInterface; use Drupal\Core\Language\LanguageInterface; use Drupal\Core\Language\LanguageManagerInterface; use Drupal\Core\TypedData\TranslatableInterface; use Drupal\Core\Render\Element; -use Drupal\Core\Entity\Entity\EntityViewDisplay; use Symfony\Component\DependencyInjection\ContainerInterface; /** @@ -440,7 +440,7 @@ public function viewFieldItem(FieldItemInterface $item, $display = array()) { } /** - * Returns the Display to use for rendering an individual field with viewField(). + * Returns an EntityViewDisplay for rendering an individual field. * * @param \Drupal\Core\Entity\EntityInterface $entity * The entity. @@ -451,7 +451,7 @@ public function viewFieldItem(FieldItemInterface $item, $display = array()) { * * @return \Drupal\Core\Entity\Display\EntityViewDisplayInterface */ - protected function getSingleFieldDisplay($entity, $field_name, array $display_options) { + protected function getSingleFieldDisplay($entity, $field_name, $display_options) { if (is_string($display_options)) { // View mode: use the Display configured for the view mode. $view_mode = $display_options; @@ -467,19 +467,18 @@ protected function getSingleFieldDisplay($entity, $field_name, array $display_op // Array of custom display options: use a runtime Display for the // '_custom' view mode. Persist the displays created, to reduce the number // of objects (displays and formatter plugins) created when rendering a - // series of fields individually for cases such as views tables - $entity_type = $entity->getEntityTypeId(); + // series of fields individually for cases such as views tables. + $entity_type_id = $entity->getEntityTypeId(); $bundle = $entity->bundle(); - $key = $entity_type . ':' . $bundle . ':' . $field_name . ':' . crc32(serialize($display_options)); + $key = $entity_type_id . ':' . $bundle . ':' . $field_name . ':' . crc32(serialize($display_options)); if (!isset($this->singleFieldDisplays[$key])) { $view_mode = '_custom'; - $this->singleFieldDisplays[$key] = entity_create('entity_view_display', array( - 'targetEntityType' => $entity_type, + $this->singleFieldDisplays[$key] = EntityViewDisplay::create(array( + 'targetEntityType' => $entity_type_id, 'bundle' => $bundle, 'mode' => $view_mode, 'status' => TRUE, - )); - $this->singleFieldDisplays[$key]->setComponent($field_name, $display_options); + ))->setComponent($field_name, $display_options); } $display = $this->singleFieldDisplays[$key]; }