diff --git a/core/modules/views/lib/Drupal/views/Plugin/Derivative/ViewsLocalTask.php b/core/modules/views/lib/Drupal/views/Plugin/Derivative/ViewsLocalTask.php index 8dcf3da..f44ab3f 100644 --- a/core/modules/views/lib/Drupal/views/Plugin/Derivative/ViewsLocalTask.php +++ b/core/modules/views/lib/Drupal/views/Plugin/Derivative/ViewsLocalTask.php @@ -71,6 +71,11 @@ public function getDerivativeDefinitions(array $base_plugin_definition) { $menu = $executable->display_handler->getOption('menu'); if (in_array($menu['type'], array('tab', 'default tab'))) { $plugin_id = 'view.' . $executable->storage->id() . '.' . $display_id; + + if (!isset($view_route_names[$executable->storage->id() . '.' . $display_id])) { + continue; + } + $route_name = $view_route_names[$executable->storage->id() . '.' . $display_id]; // Don't add a local task for views which override existing routes. @@ -110,6 +115,12 @@ public function alterLocalTasks(&$local_tasks) { // We already have set the tab_root_id for default tabs. if (in_array($menu['type'], array('tab'))) { $plugin_id = 'view.' . $executable->storage->id() . '.' . $display_id; + + if (!isset($view_route_names[$executable->storage->id() . '.' . $display_id])) { + unset($local_tasks[$plugin_id]); + continue; + } + $view_route_name = $view_route_names[$executable->storage->id() . '.' . $display_id]; // Don't add a local task for views which override existing routes.