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!
Project information
- Module categories: Media
- Ecosystem: Drupal Media
- 24,626 sites report using this module
- Created by nightlife2008 on , updated
- Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.