--- /dev/null
+<?php
+
+namespace Drupal\entity_reference_revisions\Plugin\Field\FieldFormatter;
+
+use Drupal\Core\Field\Plugin\Field\FieldFormatter\EntityReferenceFormatterBase;
+
+/**
+ * Parent plugin for entity reference formatters.
+ */
+abstract class EntityReferenceRevisionsFormatterBase extends EntityReferenceFormatterBase {
+
+ /**
+ * {@inheritdoc}
+ */
+ public function prepareView(array $entities_items) {
+ // Entity revision loading currently has no static/persistent cache and no
+ // multiload. As entity reference checks _loaded, while we don't want to
+ // indicate a loaded entity, when there is none, as it could cause errors,
+ // we actually load the entity and set the flag.
+ foreach ($entities_items as $items) {
+ foreach ($items as $item) {
+
+ if ($item->entity) {
+ $item->_loaded = TRUE;
+ }
+ }
+ }
+ }
+
+}