function file_update_8001

Add 'use_description_as_link_text' setting to file field formatters.

File

core/modules/file/file.install, line 133

Code

function file_update_8001() {
  $displays = EntityViewDisplay::loadMultiple();
  foreach ($displays as $display) {
    /** @var \Drupal\Core\Entity\Entity\EntityViewDisplay $display */
    $fields_settings = $display->get('content');
    $changed = FALSE;
    foreach ($fields_settings as $field_name => $settings) {
      if (!empty($settings['type'])) {
        switch ($settings['type']) {
          // The file_table formatter never displayed available descriptions
          // before, so we disable this option to ensure backward compatibility.
          case 'file_table':
            $fields_settings[$field_name]['settings']['use_description_as_link_text'] = FALSE;
            $changed = TRUE;
            break;

          // The file_default formatter always displayed available descriptions
          // before, so we enable this option to ensure backward compatibility.
          case 'file_default':
            $fields_settings[$field_name]['settings']['use_description_as_link_text'] = TRUE;
            $changed = TRUE;
            break;

        }
      }
    }
    if ($changed === TRUE) {
      $display->set('content', $fields_settings)
        ->save();
    }
  }
}

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