function media_library_post_update_display_modes
Create and configure Media Library form and view displays for media types.
File
-
core/
modules/ media_library/ media_library.post_update.php, line 18
Code
function media_library_post_update_display_modes() {
// Ensure the custom view and form modes are created.
$values = [
'id' => 'media.media_library',
'targetEntityType' => 'media',
'label' => t('Media library'),
'dependencies' => [
'enforced' => [
'module' => [
'media_library',
],
],
'module' => [
'media',
],
],
];
if (!EntityViewMode::load('media.media_library')) {
EntityViewMode::create($values)->save();
}
if (!EntityFormMode::load('media.media_library')) {
EntityFormMode::create($values)->save();
}
// The Media Library needs a special form display and view display to make
// sure the Media Library is displayed properly. These were not automatically
// created for custom media types, so let's make sure this is fixed.
$types = [];
foreach (MediaType::loadMultiple() as $type) {
$form_display_created = _media_library_configure_form_display($type);
$view_display_created = _media_library_configure_view_display($type);
if ($form_display_created || $view_display_created) {
$types[] = $type->label();
}
}
if ($types) {
return t('Media Library form and view displays have been created for the following media types: @types.', [
'@types' => implode(', ', $types),
]);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.