function EntityView::build

Same name in other branches
  1. 4.0.x src/Plugin/Block/EntityView.php \Drupal\ctools\Plugin\Block\EntityView::build()

Overrides BlockPluginInterface::build

File

src/Plugin/Block/EntityView.php, line 142

Class

EntityView
Provides a block to view a specific entity.

Namespace

Drupal\ctools\Plugin\Block

Code

public function build() {
    
    /** @var $entity \Drupal\Core\Entity\EntityInterface */
    $entity = $this->getContextValue('entity');
    $build = [];
    if ($this::accessRecursion($entity, $this->getConfiguration())) {
        return $build;
    }
    $view_builder = $this->entityTypeManager
        ->getViewBuilder($entity->getEntityTypeId());
    $build = $view_builder->view($entity, $this->configuration['view_mode']);
    CacheableMetadata::createFromObject($entity)->merge(CacheableMetadata::createFromRenderArray($build))
        ->applyTo($build);
    return $build;
}