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\HookCode
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']);
}
}
}
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.