entity_generic-8.x-3.x-dev/src/GenericViewBuilder.php
src/GenericViewBuilder.php
<?php namespace Drupal\entity_generic; use Drupal\Core\Entity\EntityViewBuilder; use Drupal\Core\Entity\EntityInterface; /** * Render controller for entities. */ class GenericViewBuilder extends EntityViewBuilder { /** * {@inheritdoc} */ public function buildComponents(array &$build, array $entities, array $displays, $view_mode) { if (empty($entities)) { return; } parent::buildComponents($build, $entities, $displays, $view_mode); foreach ($entities as $id => $entity) { $bundle = $entity->bundle(); $display = $displays[$bundle]; // Add Language field text element to entity render array. if ($display->getComponent('langcode')) { $build[$id]['langcode'] = array( '#type' => 'item', '#title' => t('Language'), '#markup' => $entity->language()->getName(), '#prefix' => '<div id="field-language-display">', '#suffix' => '</div>', ); } } } /** * Provides entity-specific defaults to the build process. * * @param \Drupal\Core\Entity\EntityInterface $entity * The entity for which the defaults should be provided. * @param string $view_mode * The view mode that should be used. * * @return array * Build array. */ protected function getBuildDefaults(EntityInterface $entity, $view_mode) { $build = parent::getBuildDefaults($entity, $view_mode); $build['#theme'] = 'entity_generic'; return $build; } }