You are here

function theme_menu_local_task in Drupal 7

Same name and namespace in other branches
  1. 4 includes/menu.inc \theme_menu_local_task()
  2. 5 includes/menu.inc \theme_menu_local_task()
  3. 6 includes/menu.inc \theme_menu_local_task()

Returns HTML for a single local task link.

Parameters

$variables: An associative array containing:

  • element: A render element containing:

    • #link: A menu link array with 'title', 'href', and 'localized_options' keys.
    • #active: A boolean indicating whether the local task is active.

Related topics

2 theme calls to theme_menu_local_task()
hook_menu_local_tasks_alter in modules/system/system.api.php
Alter tabs and actions displayed on the page before they are rendered.
menu_local_tasks in includes/menu.inc
Collects the local tasks (tabs), action links, and the root path.

File

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

Code

function theme_menu_local_task($variables) {
  $link = $variables['element']['#link'];
  $link_text = $link['title'];
  if (!empty($variables['element']['#active'])) {

    // Add text to indicate active tab for non-visual users.
    $active = '<span class="element-invisible">' . t('(active tab)') . '</span>';

    // If the link does not contain HTML already, check_plain() it now.
    // After we set 'html'=TRUE the link will not be sanitized by l().
    if (empty($link['localized_options']['html'])) {
      $link['title'] = check_plain($link['title']);
    }
    $link['localized_options']['html'] = TRUE;
    $link_text = t('!local-task-title!active', array(
      '!local-task-title' => $link['title'],
      '!active' => $active,
    ));
  }
  return '<li' . (!empty($variables['element']['#active']) ? ' class="active"' : '') . '>' . l($link_text, $link['href'], $link['localized_options']) . "</li>\n";
}