You are here

function ui_patterns_ds_ui_patterns_suggestions_alter in UI Patterns 8

Implements hook_ui_patterns_suggestions_alter().

File

modules/ui_patterns_ds/ui_patterns_ds.module, line 69
Contains module file.

Code

function ui_patterns_ds_ui_patterns_suggestions_alter(array &$suggestions, array $variables, PatternContext $context) {
  if ($context
    ->isOfType('ds_field_template')) {
    $hook = $variables['theme_hook_original'];
    $variant = isset($variables["variant"]) ? $variables["variant"] : '';
    $field_name = $context
      ->getProperty('field_name');
    $entity_type = $context
      ->getProperty('entity_type');
    $bundle = $context
      ->getProperty('bundle');
    $view_mode = $context
      ->getProperty('view_mode');
    $suggestions[] = $hook . '__ds_field_template';
    $suggestions[] = $hook . '__ds_field_template__' . $field_name;
    $suggestions[] = $hook . '__ds_field_template__' . $field_name . '__' . $entity_type;
    $suggestions[] = $hook . '__ds_field_template__' . $field_name . '__' . $entity_type . '__' . $bundle;
    $suggestions[] = $hook . '__ds_field_template__' . $field_name . '__' . $entity_type . '__' . $view_mode;
    $suggestions[] = $hook . '__ds_field_template__' . $field_name . '__' . $entity_type . '__' . $bundle . '__' . $view_mode;
    if (!empty($variant)) {
      $suggestions[] = $hook . '__variant_' . $variant . '__ds_field_template';
      $suggestions[] = $hook . '__variant_' . $variant . '__ds_field_template__' . $field_name;
      $suggestions[] = $hook . '__variant_' . $variant . '__ds_field_template__' . $field_name . '__' . $entity_type;
      $suggestions[] = $hook . '__variant_' . $variant . '__ds_field_template__' . $field_name . '__' . $entity_type . '__' . $bundle;
      $suggestions[] = $hook . '__variant_' . $variant . '__ds_field_template__' . $field_name . '__' . $entity_type . '__' . $view_mode;
      $suggestions[] = $hook . '__variant_' . $variant . '__ds_field_template__' . $field_name . '__' . $entity_type . '__' . $bundle . '__' . $view_mode;
    }
  }
}