Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ImageWidget.php

function ImageWidget::formMultipleElements

Overrides \Drupal\file\Plugin\Field\FieldWidget\FileWidget::formMultipleElements().

Special handling for draggable multiple widgets and 'add more' button.

Overrides FileWidget::formMultipleElements

File

core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php, line 114

Class

ImageWidget
Plugin implementation of the 'image_image' widget.

Namespace

Drupal\image\Plugin\Field\FieldWidget

Code

protected function formMultipleElements(FieldItemListInterface $items, array &$form, FormStateInterface $form_state) {
    $elements = parent::formMultipleElements($items, $form, $form_state);
    $cardinality = $this->fieldDefinition
        ->getFieldStorageDefinition()
        ->getCardinality();
    $file_upload_help = [
        '#theme' => 'file_upload_help',
        '#description' => '',
        '#upload_validators' => $elements[0]['#upload_validators'],
        '#cardinality' => $cardinality,
    ];
    if ($cardinality == 1) {
        // If there's only one field, return it as delta 0.
        if (empty($elements[0]['#default_value']['fids'])) {
            $file_upload_help['#description'] = $this->getFilteredDescription();
            $elements[0]['#description'] = \Drupal::service('renderer')->renderInIsolation($file_upload_help);
        }
    }
    else {
        $elements['#file_upload_description'] = $file_upload_help;
    }
    return $elements;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal