Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ContactHooks.php

function ContactHooks::menuLocalTasksAlter

Implements hook_menu_local_tasks_alter().

Hides the 'Contact' tab on the user profile if the user does not have an email address configured.

File

core/modules/contact/src/Hook/ContactHooks.php, line 91

Class

ContactHooks
Hook implementations for contact.

Namespace

Drupal\contact\Hook

Code

public function menuLocalTasksAlter(&$data, $route_name) : void {
    if ($route_name == 'entity.user.canonical' && isset($data['tabs'][0])) {
        foreach ($data['tabs'][0] as $href => $tab_data) {
            if ($href == 'entity.user.contact_form') {
                $link_params = $tab_data['#link']['url']->getRouteParameters();
                $account = User::load($link_params['user']);
                if (!$account->getEmail()) {
                    unset($data['tabs'][0]['entity.user.contact_form']);
                }
            }
        }
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal