function ds_contextual_links_view_alter in Display Suite 7.2
Same name and namespace in other branches
- 8.4 ds.module \ds_contextual_links_view_alter()
- 8.2 ds.module \ds_contextual_links_view_alter()
- 8.3 ds.module \ds_contextual_links_view_alter()
Implements hook_contextual_links_view_alter().
File
- ./
ds.module, line 1297 - Display Suite core functions.
Code
function ds_contextual_links_view_alter(&$element, $items) {
if (!empty($element['#element']['#entity_type']) && !empty($element['#element']['#bundle']) && module_exists('field_ui') && 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 manage display URI.
$admin_path = _field_ui_bundle_admin_path($entity_type, $bundle);
// 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;
if (!$overridden) {
$admin_path .= '/display';
}
else {
$admin_path .= '/display/' . $view_mode;
}
$element['#links']['manage-display'] = array(
'title' => t('Manage display'),
'href' => $admin_path,
'query' => drupal_get_destination(),
);
}
}