You are here

protected function RadioactivityReferenceFormatterBase::getEntitiesToView in Radioactivity 4.0.x

Returns the referenced entities for display.

The method takes care of:

  • checking entity access,
  • placing the entities in the language expected for display.

It is thus strongly recommended that formatters use it in their implementation of viewElements($items) rather than dealing with $items directly.

For each entity, the EntityReferenceItem by which the entity is referenced is available in $entity->_referringItem. This is useful for field types that store additional values next to the reference itself.

Parameters

\Drupal\Core\Field\EntityReferenceFieldItemListInterface $items: The item list.

string $langcode: The language code of the referenced entities to display.

Return value

\Drupal\Core\Entity\EntityInterface[] The array of referenced entities to display, keyed by delta.

Overrides EntityReferenceFormatterBase::getEntitiesToView

See also

::prepareView()

2 calls to RadioactivityReferenceFormatterBase::getEntitiesToView()
RadioactivityReferenceEmitter::viewElements in src/Plugin/Field/FieldFormatter/RadioactivityReferenceEmitter.php
Builds a renderable array for a field value.
RadioactivityReferenceValue::viewElements in src/Plugin/Field/FieldFormatter/RadioactivityReferenceValue.php
Builds a renderable array for a field value.

File

src/Plugin/Field/FieldFormatter/RadioactivityReferenceFormatterBase.php, line 16

Class

RadioactivityReferenceFormatterBase
Parent plugin for radioactivity entity reference formatters.

Namespace

Drupal\radioactivity\Plugin\Field\FieldFormatter

Code

protected function getEntitiesToView(EntityReferenceFieldItemListInterface $items, $langcode) {
  $entities = [];
  foreach ($items as $delta => $item) {

    // Ignore items where no entity could be loaded in prepareView().
    if (empty($item->_loaded)) {
      continue;
    }
    $entity = $item->entity;

    // Add the referring item, in case the formatter needs it.
    $entity->_referringItem = $items[$delta];
    $entities[$delta] = $entity;
  }
  return $entities;
}