Yaffs site version 1.1
[yaffs-website] / web / modules / contrib / blazy / src / BlazyMedia.php
index f1fd6b215bb9245d1f71e3b59475c146ed54e9bc..f285a7a4e018cde4baca858a1b37037bc586cba9 100644 (file)
@@ -36,7 +36,7 @@ class BlazyMedia {
     $build = $media->get($settings['source_field'])->view($settings['view_mode']);
     $build['#settings'] = $settings;
 
-    return self::wrap($build);
+    return isset($build[0]) ? self::wrap($build) : $build;
   }
 
   /**
@@ -57,8 +57,12 @@ class BlazyMedia {
     // Media entity is a single being, reasonable to work with multi-value?
     $item       = $field[0];
     $settings   = isset($field['#settings']) ? $field['#settings'] : [];
-    $attributes = &$item['#attributes'];
     $iframe     = isset($item['#tag']) && $item['#tag'] == 'iframe';
+    $attributes = [];
+
+    if (isset($item['#attributes'])) {
+      $attributes = &$item['#attributes'];
+    }
 
     // Converts iframes into lazyloaded ones.
     if ($iframe && !empty($attributes['src'])) {
@@ -85,7 +89,7 @@ class BlazyMedia {
       $build['#attributes']['data-thumb'] = ImageStyle::load($settings['thumbnail_style'])->buildUrl($settings['uri']);
     }
 
-    // Currently known media entities using iframe: Instagram.
+    // See comment above for known media entities using iframe.
     if ($iframe) {
       $build['#attributes']['class'][] = 'media--ratio';