Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Mailchimp 3.1.5 Minor update available for module mailchimp (3.1.5). Release: Commerce Shipping 3.0.5 Minor update available for module commerce_shipping (3.0.5). Release: GoogleTag Manager 2.0.1 Minor update available for module gtm (2.0.1). Usage Milestone: Easy Breadcrumb Module easy_breadcrumb crossed 100,000 active installs. Release: MCP Sentinel 2.17.0 Minor update available for module mcp_sentinel (2.17.0). Release: Commerce ML Exchange 2.0.1 Minor update available for module cmlexchange (2.0.1). Release: Commerce ML Exchange 2.0.0 Major update available for module cmlexchange (2.0.0). Release: SynImport 2.0.0 Major update available for module synimport (2.0.0). Release: Contact ajax 3.0.0 Major update available for module contact_ajax (3.0.0). Module Revived: Contextual Filter from Referer 1.0.2 Module contextual_filter_referer updated after 22 months of inactivity (1.0.2).

Media Library Form API Element

39,957 sites Security covered Drupal 10–11
View on drupal.org

This module provides a reusable form element that allows users to select media from the Media Library. It can be integrated into various Drupal forms, such as those in Paragraphs behaviors, Layout Builder, or configuration settings.

This module provides a Form API element to select a Media entity from the Media Library. This element can be used in all standalone forms. I'm currently using this in a Paragraphs behavior form to select a background image with crop-support, but you can use it in a Layout builder form, or a configuration form under "Settings"...

The implementation is borrowed from the Media Library widget and follows its user interface as well as its possibilities:

  • You can limit the allowed media types by passing the machine names of those media types
  • The default value is either:
    • Empty: NULL
    • a single Media entity's ID: (int) 1
    • multiple Media entity ID's separated by comma as a string: (string) 1,2,3,4
$form['image'] = [
  '#type' => 'media_library',
  '#allowed_bundles' => ['image'],
  '#title' => t('Upload your image'),
  '#default_value' => NULL|1|'1,2,3',
  '#description' => t('Upload or select your profile image.'),
];

I chose to release this as a standalone module so anyone can review / contribute / fork / ... without having to wait on the official core patch (https://www.drupal.org/project/drupal/issues/3065677).

Feel free to test-drive, suggest improvements or post bug reports should you encounter any!

All features have been implemented thus far, so if anyone lacks something, feel free to create an issue!

Depends on

Dependencies of the latest stable release

  • media_library Drupal core

Required by

8 tracked projects depend on this one

Activity

Tracked releases
4
Tracked since
Jul 2025
Latest release
1 month ago
Releases (12 mo)
3 ▲ from 1
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
2.1.5 Stable 10–11 Aug 7, 2026
2.1.4 Stable 10–11 Sep 30, 2025
2.1.3 Stable 10–11 Sep 26, 2025
2.1.2 Stable 10–11 Jul 4, 2025