diff --git a/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php b/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php index bc1ffca..6ef9823 100644 --- a/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php +++ b/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php @@ -6,6 +6,7 @@ use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\Field\FieldItemListInterface; +use Drupal\Core\Field\FieldStorageDefinitionInterface; use Drupal\Core\Field\WidgetBase; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; @@ -314,8 +315,10 @@ public static function addItems($form, FormStateInterface $form_state) { /** @var \Drupal\media\MediaInterface[] $media */ $media = Media::loadMultiple($ids); $delta = 0; + $field_state['items_count'] = 0; + $cardinality_unlimited = ($element['#cardinality'] == FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED); foreach ($media as $media_item) { - if ($field_state['items_count'] < $element['#cardinality']) { + if ($cardinality_unlimited || ($delta < $element['#cardinality'])) { if ($media && $media_item->access('view')) { $field_state['items'][$delta] = [ 'target_id' => $media_item->id(),