You are here

function panopoly_media_update_8204 in Panopoly 8.2

Switch embed display modes to use responsive image styles.

File

modules/panopoly/panopoly_media/panopoly_media.install, line 70
Install hooks for Panopoly Media.

Code

function panopoly_media_update_8204() {
  $options = [
    'media.image.embed_large' => [
      'type' => 'image',
      'settings' => [
        'image_style' => '',
      ],
    ],
    'media.image.embed_medium' => [
      'type' => 'responsive_image',
      'settings' => [
        'responsive_image_style' => 'panopoly_images_quarter',
      ],
    ],
    'media.image.embed_small' => [
      'type' => 'responsive_image',
      'settings' => [
        'responsive_image_style' => 'panopoly_images_thumbnail',
      ],
    ],
  ];

  /** @var \Drupal\Core\Entity\Display\EntityViewDisplayInterface[] $displays */
  $displays = Drupal::entityTypeManager()
    ->getStorage('entity_view_display')
    ->loadMultiple(array_keys($options));
  foreach ($displays as $display) {
    $display
      ->setComponent('field_media_image', $options[$display
      ->id()])
      ->save();
  }
}