getEntitiesToView($items, $langcode) as $delta => $entity) { /** @var $referenced_user \Drupal\user\UserInterface */ $elements[$delta] = [ '#theme' => 'username', '#account' => $entity, '#link_options' => ['attributes' => ['rel' => 'author']], '#cache' => [ 'tags' => $entity->getCacheTags(), ], ]; } return $elements; } /** * {@inheritdoc} */ public static function isApplicable(FieldDefinitionInterface $field_definition) { return $field_definition->getFieldStorageDefinition()->getSetting('target_type') == 'user'; } /** * {@inheritdoc} */ protected function checkAccess(EntityInterface $entity) { return $entity->access('view label', NULL, TRUE); } }