You are here

public function BackgroundImageViewBuilder::view in Background Image 8

Same name and namespace in other branches
  1. 2.x src/BackgroundImageViewBuilder.php \Drupal\background_image\BackgroundImageViewBuilder::view()
  2. 2.0.x src/BackgroundImageViewBuilder.php \Drupal\background_image\BackgroundImageViewBuilder::view()

Builds the render array for the provided entity.

Parameters

\Drupal\Core\Entity\EntityInterface $entity: The entity to render.

string $view_mode: (optional) The view mode that should be used to render the entity.

string $langcode: (optional) For which language the entity should be rendered, defaults to the current content language.

Return value

array A render array for the entity.

Throws

\InvalidArgumentException Can be thrown when the set of parameters is inconsistent, like when trying to view a Comment and passing a Node which is not the one the comment belongs to, or not passing one, and having the comment node not be available for loading.

Overrides EntityViewBuilder::view

File

src/BackgroundImageViewBuilder.php, line 228

Class

BackgroundImageViewBuilder

Namespace

Drupal\background_image

Code

public function view(EntityInterface $background_image, $view_mode = 'full', $langcode = NULL) {

  /** @type \Drupal\background_image\BackgroundImageInterface $background_image */
  $build = parent::view($background_image, $view_mode, $langcode);
  $build['#langcode'] = $langcode;
  $build['#access'] = $background_image
    ->access('view', NULL, TRUE);

  // Attach, at the minimum, the baseClass drupal setting.
  $build['#attached']['drupalSettings']['backgroundImage']['baseClass'] = BackgroundImageManager::service()
    ->getBaseClass();

  // Add user permissions context.
  $build['#cache']['contexts'][] = 'user.permissions';
  return $build;
}