function template_preprocess_menu_local_task in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/includes/menu.inc \template_preprocess_menu_local_task()
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
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'],
);
}