3 namespace Drupal\system\EventSubscriber;
5 use Drupal\Core\Routing\RouteSubscriberBase;
6 use Drupal\Core\Routing\RoutingEvents;
7 use Symfony\Component\Routing\RouteCollection;
10 * Adds the _admin_route option to each admin route.
12 class AdminRouteSubscriber extends RouteSubscriberBase {
17 protected function alterRoutes(RouteCollection $collection) {
18 foreach ($collection->all() as $route) {
19 if (strpos($route->getPath(), '/admin') === 0 && !$route->hasOption('_admin_route')) {
20 $route->setOption('_admin_route', TRUE);
28 public static function getSubscribedEvents() {
29 $events = parent::getSubscribedEvents();
31 // Use a lower priority than \Drupal\field_ui\Routing\RouteSubscriber or
32 // \Drupal\views\EventSubscriber\RouteSubscriber to ensure we add the option
34 $events[RoutingEvents::ALTER] = ['onAlterRoutes', -200];