You are here

public function BackgroundImageManager::getEntityBundleBackgroundImage in Background Image 2.0.x

Same name and namespace in other branches
  1. 8 src/BackgroundImageManager.php \Drupal\background_image\BackgroundImageManager::getEntityBundleBackgroundImage()
  2. 2.x src/BackgroundImageManager.php \Drupal\background_image\BackgroundImageManager::getEntityBundleBackgroundImage()

Retrieves a background image that matches a specific entity type.

Parameters

\Drupal\Core\Entity\EntityInterface $entity: The entity to use as the target.

string $langcode: (optional) The language of the current context. Defaults to the current content language.

array $context: (optional) An associative array of arbitrary data that can be useful to determine the proper fallback sequence.

Return value

\Drupal\background_image\BackgroundImageInterface|null A background image entity, if one exists.

Overrides BackgroundImageManagerInterface::getEntityBundleBackgroundImage

1 call to BackgroundImageManager::getEntityBundleBackgroundImage()
BackgroundImageManager::getBackgroundImage in src/BackgroundImageManager.php
Retrieves a background image based on the current route.

File

src/BackgroundImageManager.php, line 437

Class

BackgroundImageManager

Namespace

Drupal\background_image

Code

public function getEntityBundleBackgroundImage(EntityInterface $entity, $langcode = NULL, array $context = []) {
  if ($bundle_entity_type = $entity
    ->getEntityType()
    ->getBundleEntityType()) {
    $result = $this->storage
      ->loadByProperties([
      'type' => BackgroundImageInterface::TYPE_ENTITY_BUNDLE,
      'target' => $entity
        ->getEntityTypeId() . ':' . $entity
        ->bundle(),
    ]);
    if ($backgroundImage = reset($result)) {
      return $this->entityRepository
        ->getTranslationFromContext($backgroundImage, $langcode, $context);
    }
  }
  return NULL;
}