Answers for "convert image to media"

0

convert image to media

function gn_core_update_8001(&$sandbox) {
  $entity_types = ['node', 'paragraph'];
  $image_fields = ['field_image', 'field_social_share_image'];

  foreach ($entity_types as $entity_type) {
    $entities = \Drupal::entityTypeManager()
      ->getStorage($entity_type)
      ->loadMultiple();

    foreach ($image_fields as $image_field) {
      gn_core_migrate_to_media($entities, $image_field);
    }
  }
}

function gn_core_migrate_to_media($entities, $image_field) {
  $image_media_field_name = $image_field . '_media';

  foreach ($entities as $entity) {
    if (
      $entity->hasField($image_field) &&
      $entity->get($image_field)->isEmpty() === FALSE &&
      $entity->hasField($image_media_field_name)
    ) {
      $images = $entity->get($image_field)->getValue();
      $entity->set($image_media_field_name, NULL);

      foreach ($images as $image) {
        $media = \Drupal::entityTypeManager()
          ->getStorage('media')
          ->create([
            'bundle' => 'image',
            'uid' => 1,
          ]);
        $media->set('field_media_image', $image);
        $media->save();
        $entity->get($image_media_field_name)->appendItem($media);
      }

      $entity->save();
    }
  }
}
Posted by: Guest on March-05-2022

Code answers related to "convert image to media"

Browse Popular Code Answers by Language