template_preprocess_menu_local_task

template_preprocess_menu_local_task(&$variables)

Prepares variables for single local task link templates.

Default template: menu-local-task.html.twig.

Parameters

array $variables: An associative array containing:

  • element: A render element containing:
    • #link: A menu link array with 'title', 'url', and (optionally) 'localized_options' keys.
    • #active: A boolean indicating whether the local task is active.

Related topics

Menu system
Define the navigation menus, local actions and tasks, and contextual links.

File

core/includes/menu.inc, line 29
API for the Drupal menu system.

Code

function template_preprocess_menu_local_task(&$variables) {
  $link = $variables['element']['#link'];
  $link += array(
    'localized_options' => array(),
  );
  $link_text = $link['title'];

  if (!empty($variables['element']['#active'])) {
    $variables['is_active'] = TRUE;

    // Add text to indicate active tab for non-visual users.
    $active = SafeMarkup::format('<span class="visually-hidden">@label</span>', array('@label' => t('(active tab)')));
    $link_text = t('@local-task-title@active', array('@local-task-title' => $link_text, '@active' => $active));
  }

  $link['localized_options']['set_active_class'] = TRUE;

  $variables['link'] = array(
    '#type' => 'link',
    '#title' => $link_text,
    '#url' => $link['url'],
    '#options' => $link['localized_options'],
  );
}
doc_Drupal
2016-10-29 09:46:45
Comments
Leave a Comment

Please login to continue.