You are here

function ds_theme_suggestions_alter in Display Suite 8.4

Same name and namespace in other branches
  1. 8.2 ds.module \ds_theme_suggestions_alter()
  2. 8.3 ds.module \ds_theme_suggestions_alter()

Implements hook_theme_suggestions_alter().

File

./ds.module, line 632
Display Suite core functions.

Code

function ds_theme_suggestions_alter(&$suggestions, $variables, $base_theme_hook) {
  if (isset($variables['content']) && is_array($variables['content']) && isset($variables['content']['#ds_configuration']) && $base_theme_hook != 'ds_entity_view') {
    $layout_id = $variables['content']['#ds_configuration']['layout']['id'];
    $entity_id = $variables['content']['#' . $variables['content']['#entity_type']]
      ->id();
    $suggestions[] = $layout_id . '__' . $variables['content']['#entity_type'];
    $suggestions[] = $layout_id . '__' . $variables['content']['#entity_type'] . '_' . $variables['content']['#view_mode'];
    $suggestions[] = $layout_id . '__' . $variables['content']['#entity_type'] . '_' . $variables['content']['#bundle'];
    $suggestions[] = $layout_id . '__' . $variables['content']['#entity_type'] . '_' . $variables['content']['#bundle'] . '_' . $variables['content']['#view_mode'];
    $suggestions[] = $layout_id . '__' . $variables['content']['#entity_type'] . '__' . $entity_id;
  }
}