function template_preprocess_menu_local_task in Drupal 9
Same name and namespace in other branches
- 8 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.
File
- core/
includes/ theme.inc, line 1927 - The theme system, which controls the output of Drupal.
Code
function template_preprocess_menu_local_task(&$variables) {
$link = $variables['element']['#link'];
$link += [
'localized_options' => [],
];
$link_text = $link['title'];
if (!empty($variables['element']['#active'])) {
$variables['is_active'] = TRUE;
// Add text to indicate active tab for non-visual users.
$active = new FormattableMarkup('<span class="visually-hidden">@label</span>', [
'@label' => t('(active tab)'),
]);
$link_text = t('@local-task-title@active', [
'@local-task-title' => $link_text,
'@active' => $active,
]);
}
$link['localized_options']['set_active_class'] = TRUE;
$variables['link'] = [
'#type' => 'link',
'#title' => $link_text,
'#url' => $link['url'],
'#options' => $link['localized_options'],
];
}