Skip to content
Snippets Groups Projects
Select Git revision
  • 3fe7cb50ea031b0d0a990130eb8c10a262a38a19
  • 11.x default protected
  • 11.2.x protected
  • 10.6.x protected
  • 10.5.x protected
  • 11.1.x protected
  • 10.4.x protected
  • 11.0.x protected
  • 10.3.x protected
  • 7.x protected
  • 10.2.x protected
  • 10.1.x protected
  • 9.5.x protected
  • 10.0.x protected
  • 9.4.x protected
  • 9.3.x protected
  • 9.2.x protected
  • 9.1.x protected
  • 8.9.x protected
  • 9.0.x protected
  • 8.8.x protected
  • 10.5.1 protected
  • 11.2.2 protected
  • 11.2.1 protected
  • 11.2.0 protected
  • 10.5.0 protected
  • 11.2.0-rc2 protected
  • 10.5.0-rc1 protected
  • 11.2.0-rc1 protected
  • 10.4.8 protected
  • 11.1.8 protected
  • 10.5.0-beta1 protected
  • 11.2.0-beta1 protected
  • 11.2.0-alpha1 protected
  • 10.4.7 protected
  • 11.1.7 protected
  • 10.4.6 protected
  • 11.1.6 protected
  • 10.3.14 protected
  • 10.4.5 protected
  • 11.0.13 protected
41 results

EntityReferenceIdFormatter.php

Blame
  • Alex Pott's avatar
    Issue #2404021 by yched, amateescu: entity_reference formatters should be in Core
    Alex Pott authored
    3fe7cb50
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    EntityReferenceIdFormatter.php 1.26 KiB
    <?php
    
    /**
     * @file
     * Contains \Drupal\Core\Field\Plugin\Field\FieldFormatter\EntityReferenceIdFormatter.
     */
    
    namespace Drupal\Core\Field\Plugin\Field\FieldFormatter;
    
    use Drupal\Core\Field\FieldItemListInterface;
    use Drupal\Component\Utility\String;
    
    /**
     * Plugin implementation of the 'entity reference ID' formatter.
     *
     * @FieldFormatter(
     *   id = "entity_reference_entity_id",
     *   label = @Translation("Entity ID"),
     *   description = @Translation("Display the ID of the referenced entities."),
     *   field_types = {
     *     "entity_reference"
     *   }
     * )
     */
    class EntityReferenceIdFormatter extends EntityReferenceFormatterBase {
    
      /**
       * {@inheritdoc}
       */
      public function viewElements(FieldItemListInterface $items) {
        $elements = array();
    
        foreach ($this->getEntitiesToView($items) as $delta => $entity) {
          if ($entity->id()) {
            $elements[$delta] = array(
              '#markup' => String::checkPlain($entity->id()),
              // Create a cache tag entry for the referenced entity. In the case
              // that the referenced entity is deleted, the cache for referring
              // entities must be cleared.
              '#cache' => array(
                'tags' => $entity->getCacheTags(),
              ),
            );
          }
        }
    
        return $elements;
      }
    }