You are here

public function SlickFileFormatter::buildElement in Slick Carousel 8.2

Same name and namespace in other branches
  1. 7.3 src/Plugin/Field/FieldFormatter/SlickFileFormatter.php \Drupal\slick\Plugin\Field\FieldFormatter\SlickFileFormatter::buildElement()

File

src/Plugin/Field/FieldFormatter/SlickFileFormatter.php, line 34

Class

SlickFileFormatter
Plugin implementation of the 'Slick File' formatter to get ME within images.

Namespace

Drupal\slick\Plugin\Field\FieldFormatter

Code

public function buildElement(array &$build, $entity) {
  $settings = $build['settings'];
  $data = [];

  /** @var Drupal\Core\Field\Plugin\Field\FieldType\EntityReferenceItem $item */

  // EntityReferenceItem provides $item->entity Drupal\file\Entity\File.
  if (empty($build['item'])) {

    // @todo remove condition post blazy:2.x.
    if (method_exists($this->blazyOembed, 'getImageItem')) {
      $data = $this->blazyOembed
        ->getImageItem($entity);
    }
    elseif (method_exists($this, 'getImageItem')) {
      $data = $this
        ->getImageItem($entity);
    }
    if ($data) {
      $build['item'] = $data['item'];
      $build['settings'] = array_merge($settings, $data['settings']);
    }
  }
  $this->blazyOembed
    ->getMediaItem($build, $entity);
}