function ImageItem::defaultImageForm

Same name and namespace in other branches
  1. 9 core/modules/image/src/Plugin/Field/FieldType/ImageItem.php \Drupal\image\Plugin\Field\FieldType\ImageItem::defaultImageForm()
  2. 10 core/modules/image/src/Plugin/Field/FieldType/ImageItem.php \Drupal\image\Plugin\Field\FieldType\ImageItem::defaultImageForm()
  3. 11.x core/modules/image/src/Plugin/Field/FieldType/ImageItem.php \Drupal\image\Plugin\Field\FieldType\ImageItem::defaultImageForm()

Builds the default_image details element.

Parameters

array $element: The form associative array passed by reference.

array $settings: The field settings array.

2 calls to ImageItem::defaultImageForm()
ImageItem::fieldSettingsForm in core/modules/image/src/Plugin/Field/FieldType/ImageItem.php
Returns a form for the field-level settings.
ImageItem::storageSettingsForm in core/modules/image/src/Plugin/Field/FieldType/ImageItem.php
Returns a form for the storage-level settings.

File

core/modules/image/src/Plugin/Field/FieldType/ImageItem.php, line 418

Class

ImageItem
Plugin implementation of the 'image' field type.

Namespace

Drupal\image\Plugin\Field\FieldType

Code

protected function defaultImageForm(array &$element, array $settings) {
    $element['default_image'] = [
        '#type' => 'details',
        '#title' => t('Default image'),
        '#open' => TRUE,
    ];
    // Convert the stored UUID to a FID.
    $fids = [];
    $uuid = $settings['default_image']['uuid'];
    if ($uuid && ($file = \Drupal::service('entity.repository')->loadEntityByUuid('file', $uuid))) {
        $fids[0] = $file->id();
    }
    $element['default_image']['uuid'] = [
        '#type' => 'managed_file',
        '#title' => t('Image'),
        '#description' => t('Image to be shown if no image is uploaded.'),
        '#default_value' => $fids,
        '#upload_location' => $settings['uri_scheme'] . '://default_images/',
        '#element_validate' => [
            '\\Drupal\\file\\Element\\ManagedFile::validateManagedFile',
            [
                get_class($this),
                'validateDefaultImageForm',
            ],
        ],
        '#upload_validators' => $this->getUploadValidators(),
    ];
    $element['default_image']['alt'] = [
        '#type' => 'textfield',
        '#title' => t('Alternative text'),
        '#description' => t('Short description of the image used by screen readers and displayed when the image is not loaded. This is important for accessibility.'),
        '#default_value' => $settings['default_image']['alt'],
        '#maxlength' => 512,
    ];
    $element['default_image']['title'] = [
        '#type' => 'textfield',
        '#title' => t('Title'),
        '#description' => t('The title attribute is used as a tooltip when the mouse hovers over the image.'),
        '#default_value' => $settings['default_image']['title'],
        '#maxlength' => 1024,
    ];
    $element['default_image']['width'] = [
        '#type' => 'value',
        '#value' => $settings['default_image']['width'],
    ];
    $element['default_image']['height'] = [
        '#type' => 'value',
        '#value' => $settings['default_image']['height'],
    ];
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.