Skip to content

Media form display

8. Media Form Display

When to Use

You need to configure the media upload and edit form: field order, widgets, help text.

Decision

Field Widget Settings
Image field image_image progress_indicator: throbber, preview_image_style: thumbnail
File field file_generic progress_indicator: throbber
oEmbed URL string_textfield size, placeholder
Alt text part of image_image widget alt_field: true, alt_field_required: true
Title, credits string_textfield size, placeholder
Status (published) boolean_checkbox display_label: true

Pattern

Image media form display:

# config/sync/core.entity_form_display.media.image.default.yml
langcode: en
status: true
dependencies:
  config:
    - field.field.media.image.field_media_image
    - image.style.thumbnail
    - media.type.image
  module:
    - image
id: media.image.default
targetEntityType: media
bundle: image
mode: default
content:
  field_media_image:
    type: image_image
    weight: 0
    region: content
    settings:
      progress_indicator: throbber
      preview_image_style: thumbnail
    third_party_settings: {}
  status:
    type: boolean_checkbox
    weight: 100
    region: content
    settings:
      display_label: true
    third_party_settings: {}
  uid:
    type: entity_reference_autocomplete
    weight: 5
    region: content
    settings:
      match_operator: CONTAINS
      match_limit: 10
      size: 60
      placeholder: ''
    third_party_settings: {}
  created:
    type: datetime_timestamp
    weight: 10
    region: content
    settings: {}
    third_party_settings: {}
hidden:
  name: true

Media Library form mode (optimized for quick upload):

# config/sync/core.entity_form_display.media.image.media_library.yml
langcode: en
status: true
dependencies:
  config:
    - core.entity_form_mode.media.media_library
    - field.field.media.image.field_media_image
    - image.style.thumbnail
    - media.type.image
  module:
    - image
    - media_library
id: media.image.media_library
targetEntityType: media
bundle: image
mode: media_library
content:
  field_media_image:
    type: image_image
    weight: 0
    region: content
    settings:
      progress_indicator: throbber
      preview_image_style: thumbnail
    third_party_settings: {}
  status:
    type: boolean_checkbox
    weight: 100
    region: content
    settings:
      display_label: true
    third_party_settings: {}
hidden:
  created: true
  name: true
  uid: true

Common Mistakes

  • Requiring name field → auto-generated from filename; hide or leave optional
  • Not setting preview_image_style → huge upload previews; use thumbnail
  • Showing created and uid in Media Library mode → clutters quick upload form; hide non-essential fields
  • Not using media_library form mode → uses default form even in Media Library modal; create optimized form mode
  • Using generic file widget for images → loses alt text and preview; use image_image widget

See Also

  • Media Library Widget
  • Reference: /core/profiles/standard/config/optional/core.entity_form_display.media.image.default.yml