You are here

function file_entity_theme_suggestions_file_alter in File Entity (fieldable files) 8.2

Implements hook_theme_suggestions_HOOK_alter().

File

./file_entity.module, line 262
Extends Drupal file entities to be fieldable and viewable.

Code

function file_entity_theme_suggestions_file_alter(array &$suggestions, array $variables) {
  $view_mode = $variables['view_mode'] = $variables['elements']['#view_mode'];

  /** @var FileInterface $file */
  $file = $variables['elements']['#file'];

  // Clean up name so there are no underscores.
  $suggestions[] = 'file__' . $file
    ->bundle();
  $suggestions[] = 'file__' . $file
    ->bundle() . '__' . $view_mode;
  $suggestions[] = 'file__' . str_replace(array(
    '/',
    '-',
  ), array(
    '__',
    '_',
  ), $file
    ->getMimeType());
  $suggestions[] = 'file__' . str_replace(array(
    '/',
    '-',
  ), array(
    '__',
    '_',
  ), $file
    ->getMimeType()) . '__' . $view_mode;
  $suggestions[] = 'file__' . $file
    ->id();
  $suggestions[] = 'file__' . $file
    ->id() . '__' . $view_mode;
}