Заменяем локальные задачи (табы) контекстными ссылками
Странная штука — контекстные ссылки у нод есть только при просмотре тизеров, при просмотре полных версий уже появляются табы (локальные задачи).
Чтобы избавиться от табов и вывести вместо них контекстные ссылки нужно:
1. Добавить в template.php:
function [THEMENAME]_menu_local_task($variables) {
$link = $variables['element']['#link'];
if ($link['path'] == 'node/%/view') return FALSE;
$link['localized_options']['html'] = TRUE;
return '<li>' . l($link['title'], $link['href'], $link['localized_options']) . '</li>';
}
function [THEMENAME]_menu_local_tasks($variables) {
$output = '';
$has_access = user_access('access contextual links');
if (!empty($variables['primary'])) {
$variables['primary']['#prefix'] = $has_access ? '<div class="contextual-links-wrapper"><ul class="contextual-links">' : '<ul class="tabs primary">';
$variables['primary']['#suffix'] = $has_access ? '</ul></div>' : '</ul>';
$output .= drupal_render($variables['primary']);
}
if (!empty($variables['secondary'])) {
$variables['secondary']['#prefix'] = '<ul class="tabs secondary">';
$variables['secondary']['#suffix'] = '</ul>';
$output .= drupal_render($variables['secondary']);
}
return $output;
}
2. В page.tpl.php, элементу, который оборачивает рендер $page['content'] и $tabs, добавить новый класс — contextual-links-region (например в Bartik это <div id="content" class="column">).
3. Сбросить кэш.
Написанное актуально для
Drupal 7.x
Комментарии:
Нету комментариев для вывода...