function media_form_field_ui_field_storage_add_form_alter

Same name and namespace in other branches
  1. 8.9.x core/modules/media/media.module \media_form_field_ui_field_storage_add_form_alter()
  2. 10 core/modules/media/media.module \media_form_field_ui_field_storage_add_form_alter()
  3. 11.x core/modules/media/media.module \media_form_field_ui_field_storage_add_form_alter()

Implements hook_form_FORM_ID_alter().

File

core/modules/media/media.module, line 192

Code

function media_form_field_ui_field_storage_add_form_alter(&$form, FormStateInterface $form_state, $form_id) {
    // Provide some help text to aid users decide whether they need a Media,
    // File, or Image reference field.
    $description_text = t('Use <em>Media</em> reference fields for most files, images, audio, videos, and remote media. Use <em>File</em> or <em>Image</em> reference fields when creating your own media types, or for legacy files and images created before enabling the Media module.');
    if (\Drupal::moduleHandler()->moduleExists('help')) {
        $description_text .= ' ' . t('For more information, see the <a href="@help_url">Media help page</a>.', [
            '@help_url' => Url::fromRoute('help.page', [
                'name' => 'media',
            ])->toString(),
        ]);
    }
    $form['add']['description_wrapper'] = [
        '#type' => 'container',
    ];
    $field_types = [
        'file',
        'image',
        'field_ui:entity_reference:media',
    ];
    foreach ($field_types as $field_name) {
        $form['add']['description_wrapper']["description_{$field_name}"] = [
            '#type' => 'item',
            '#markup' => $description_text,
            '#states' => [
                'visible' => [
                    ':input[name="new_storage_type"]' => [
                        'value' => $field_name,
                    ],
                ],
            ],
        ];
    }
    $form['add']['new_storage_type']['#weight'] = 0;
    $form['add']['description_wrapper']['#weight'] = 1;
}

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