diff --git a/core/modules/user/user.module b/core/modules/user/user.module index 836f101..e31d6ad 100644 --- a/core/modules/user/user.module +++ b/core/modules/user/user.module @@ -1619,12 +1619,6 @@ function user_menu() { 'page arguments' => array(1), 'access callback' => 'user_view_access', 'access arguments' => array(1), - // By assigning a different menu name, this item (and all registered child - // paths) are no longer considered as children of 'user'. When accessing the - // user account pages, the preferred menu link that is used to build the - // active trail (breadcrumb) will be found in this menu (unless there is - // more specific link), so the link to 'user' will not be in the breadcrumb. - 'menu_name' => 'navigation', ); $items['user/%user/view'] = array( @@ -3757,3 +3751,14 @@ function user_file_download_access($field, $entity_type, $entity) { return user_view_access($entity); } } + +/** + * Implements hook_menu_breadcrumb_alter(). + */ +function user_menu_breadcrumb_alter(&$active_trail, $item) { + // Remove "My account" from the breadcrumb when $item is descendant-or-self + // of system path user/%. + if (strpos($item['path'], 'user/%') === 0 && $active_trail[1]['link_path'] == 'user' && $active_trail[1]['module'] == 'system') { + array_splice($active_trail, 1, 1); + } +}