You are here

function ds_module_implements_alter in Display Suite 8.2

Same name and namespace in other branches
  1. 8.4 ds.module \ds_module_implements_alter()
  2. 8.3 ds.module \ds_module_implements_alter()
  3. 7.2 ds.module \ds_module_implements_alter()
  4. 7 ds.module \ds_module_implements_alter()

Implements hook_module_implements_alter().

File

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

Code

function ds_module_implements_alter(&$implementations, $hook) {

  // node_entity_view_display_alter() disables all labels on all fields
  // when the view mode is 'search_index'. If you set display modes for
  // this view mode by hand, then the hook isn't needed. Since this
  // may be called dozens of times on some pages, it's worth disabling it.
  if ($hook == 'entity_view_display_alter') {
    unset($implementations['node']);
  }

  // Because it's possible to turn on/off field templates,
  // we'll unset hooks here so ds_preprocess_field() doesn't run.
  $ft_hooks = array(
    'form_ds_classes_form_alter',
    'form_field_ui_field_edit_form_alter',
  );
  if (!\Drupal::config('ds.settings')
    ->get('field_template') && in_array($hook, $ft_hooks)) {
    unset($implementations['ds']);
  }
}