contacts_events-8.x-1.x-dev/src/Routing/ViewsAdminRouteSubscriber.php
src/Routing/ViewsAdminRouteSubscriber.php
<?php
namespace Drupal\contacts_events\Routing;
use Drupal\Core\Routing\RouteSubscriberBase;
use Symfony\Component\Routing\RouteCollection;
/**
* Modifies routes to be considered 'admin routes'.
*/
class ViewsAdminRouteSubscriber extends RouteSubscriberBase {
/**
* {@inheritdoc}
*/
protected function alterRoutes(RouteCollection $collection) {
// Routes generated by views don't provide a way to set the '_admin_route'
// option in the view, so we have to do it via subscriber.
// @todo Remove this once Core provides a way to do this out of the box
// which is supposedly coming in 8.9:
// https://www.drupal.org/project/drupal/issues/2719797
$routes = [
'view.contacts_events_tickets.page_1',
'view.contacts_events_tickets_statistics.page_1',
'view.contacts_events_bookings_without_tickets.page_1',
'view.contacts_events_childrens_tickets.page_1',
'view.contacts_events_accommodation_summary.page_1',
'view.contacts_events_booking_balances.balances',
'view.contacts_events_booking_balances.refunds',
];
foreach ($routes as $route_id) {
if ($route = $collection->get($route_id)) {
$route->setOption('_admin_route', TRUE);
}
}
}
}
