You are here

function view_modes_display_contextual_links_view_alter in View Modes Display 7

Implements hook_contextual_links_view_alter().

File

./view_modes_display.module, line 81

Code

function view_modes_display_contextual_links_view_alter(&$element, $items) {
  if (!empty($element['#element']['#entity_type']) && !empty($element['#element']['#bundle']) && !empty($element['#element']['#node']) && user_access('administer content types')) {
    $entity_type = $element['#element']['#entity_type'];
    $bundle = $element['#element']['#bundle'];
    $view_mode = isset($element['#element']['#view_mode']) ? $element['#element']['#view_mode'] : 'default';

    // Get the preview URI.
    $preview_path = 'node/' . $element['#element']['#node']->nid . '/preview';

    // Check view mode settings.
    $view_mode_settings = field_view_mode_settings($entity_type, $bundle);
    $overridden = !empty($view_mode_settings[$view_mode]['custom_settings']) ? TRUE : FALSE;
    $element['#links']['preview-display'] = array(
      'title' => t('Preview display'),
      'href' => $preview_path,
      'query' => drupal_get_destination(),
    );
  }
}