You are here

public function BlazyFormatter::extractFirstItem in Blazy 8.2

Same name and namespace in other branches
  1. 7 src/BlazyFormatter.php \Drupal\blazy\BlazyFormatter::extractFirstItem()

Extract the first image item to build colorbox/zoom-like gallery.

Parameters

array $settings: The $settings array being modified.

object $item: The Drupal\image\Plugin\Field\FieldType\ImageItem item.

object $entity: The optional media entity.

Overrides BlazyFormatterInterface::extractFirstItem

1 call to BlazyFormatter::extractFirstItem()
BlazyFormatter::preBuildElements in src/BlazyFormatter.php
Modifies the field formatter settings inherited by child elements.

File

src/BlazyFormatter.php, line 135

Class

BlazyFormatter
Provides common field formatter-related methods: Blazy, Slick.

Namespace

Drupal\blazy

Code

public function extractFirstItem(array &$settings, $item, $entity = NULL) {
  if ($settings['field_type'] == 'image') {
    $settings['_item'] = $item;
    $settings['_uri'] = ($file = $item->entity) && empty($item->uri) ? $file
      ->getFileUri() : $item->uri;
  }
  elseif ($entity && $entity
    ->hasField('thumbnail') && ($image = $entity
    ->get('thumbnail')
    ->first())) {
    if (isset($image->entity) && ($file = $image->entity)) {
      $settings['_item'] = $image;
      $settings['_uri'] = $file
        ->getFileUri();
    }
  }

  // The first image dimensions to differ from individual item dimensions.
  if (!empty($settings['_item'])) {
    BlazyUtil::imageDimensions($settings, $settings['_item'], TRUE);
  }
}