You are here

protected function BlazyManagerBase::isBlazyFormatter in Blazy 8.2

Collects the first found Blazy formatter settings within Views fields.

1 call to BlazyManagerBase::isBlazyFormatter()
BlazyManagerBase::isBlazy in src/BlazyManagerBase.php
Checks for Blazy formatter such as from within a Views style plugin.

File

src/BlazyManagerBase.php, line 372

Class

BlazyManagerBase
Implements BlazyManagerInterface.

Namespace

Drupal\blazy

Code

protected function isBlazyFormatter(array &$settings, array $item = []) {
  $blazy = $item['settings'];

  // Merge the first found (Responsive) image data.
  if (!empty($blazy['blazy_data'])) {
    $settings['blazy_data'] = empty($settings['blazy_data']) ? $blazy['blazy_data'] : array_merge($settings['blazy_data'], $blazy['blazy_data']);
    $settings['_dimensions'] = !empty($settings['blazy_data']['dimensions']);
  }
  $cherries = BlazyDefault::cherrySettings() + [
    'uri' => '',
  ];
  foreach ($cherries as $key => $value) {
    $fallback = isset($settings[$key]) ? $settings[$key] : $value;
    $settings[$key] = isset($blazy[$key]) && empty($fallback) ? $blazy[$key] : $fallback;
  }
  $settings['_uri'] = empty($settings['_uri']) ? $settings['uri'] : $settings['_uri'];
  unset($settings['uri']);
}