diff --git a/src/Plugin/Field/FieldFormatter/DynamicEntityReferenceFormatterTrait.php b/src/Plugin/Field/FieldFormatter/DynamicEntityReferenceFormatterTrait.php index 28030e0..8210e7e 100644 --- a/src/Plugin/Field/FieldFormatter/DynamicEntityReferenceFormatterTrait.php +++ b/src/Plugin/Field/FieldFormatter/DynamicEntityReferenceFormatterTrait.php @@ -26,7 +26,7 @@ trait DynamicEntityReferenceFormatterTrait { // use a single "multiple entity load" to load all the entities for the // multiple "entity reference item lists" that are being displayed. We thus // cannot use - // \Drupal\Core\Field\EntityReferenceFieldItemList::referencedEntities(). + // \Drupal\Core\Field\DynamicEntityReferenceFieldItemList::referencedEntities(). $ids = array(); foreach ($entities_items as $items) { foreach ($items as $item) { @@ -46,7 +46,10 @@ trait DynamicEntityReferenceFormatterTrait { foreach ($entities_items as $items) { foreach ($items as $item) { if (isset($target_entities[$item->target_type]) && isset($target_entities[$item->target_type][$item->target_id])) { - $item->entity = $target_entities[$item->target_type][$item->target_id]; + $item->originalEntity = $target_entities[$item->target_type][$item->target_id]; + } + elseif ($item->hasNewEntity()) { + $item->originalEntity = $item->entity; } } }