You are here

function ui_patterns_layouts_ui_patterns_destination_suggestions_alter in UI Patterns 8

Implements hook_ui_patterns_destination_suggestions_alter().

File

modules/ui_patterns_layouts/ui_patterns_layouts.module, line 106
Contains module file.

Code

function ui_patterns_layouts_ui_patterns_destination_suggestions_alter(array &$suggestions, array $variables, PatternContext $context) {
  if ($context
    ->isOfType('layout')) {
    $hook = $variables['theme_hook_original'];
    $variant = isset($variables["variant"]) ? $variables["variant"] : '';
    $entity_type = $context
      ->getProperty('entity_type');
    $bundle = $context
      ->getProperty('bundle');
    $view_mode = $context
      ->getProperty('view_mode');
    $entity_id = $context
      ->getProperty('entity_id');
    $pattern = $context
      ->getProperty('pattern');
    $field = $context
      ->getProperty('field');
    $suggestions[] = $hook . '__layout__' . $pattern . '__' . $field;
    $suggestions[] = $hook . '__layout__' . $entity_type . '__' . $pattern . '__' . $field;
    $suggestions[] = $hook . '__layout__' . $entity_type . '__' . $bundle . '__' . $pattern . '__' . $field;
    $suggestions[] = $hook . '__layout__' . $entity_type . '__' . $view_mode . '__' . $pattern . '__' . $field;
    $suggestions[] = $hook . '__layout__' . $entity_type . '__' . $bundle . '__' . $view_mode . '__' . $pattern . '__' . $field;
    $suggestions[] = $hook . '__layout__' . $entity_type . '__' . $entity_id . '__' . $pattern . '__' . $field;
    if (!empty($variant)) {
      $suggestions[] = $hook . '__variant_' . $variant . '__layout__' . $pattern . '__' . $field;
      $suggestions[] = $hook . '__variant_' . $variant . '__layout__' . $entity_type . '__' . $pattern . '__' . $field;
      $suggestions[] = $hook . '__variant_' . $variant . '__layout__' . $entity_type . '__' . $bundle . '__' . $pattern . '__' . $field;
      $suggestions[] = $hook . '__variant_' . $variant . '__layout__' . $entity_type . '__' . $view_mode . '__' . $pattern . '__' . $field;
      $suggestions[] = $hook . '__variant_' . $variant . '__layout__' . $entity_type . '__' . $bundle . '__' . $view_mode . '__' . $pattern . '__' . $field;
      $suggestions[] = $hook . '__variant_' . $variant . '__layout__' . $entity_type . '__' . $entity_id . '__' . $pattern . '__' . $field;
    }
  }
}