public EntityRouteProviderSubscriber::onDynamicRouteEvent(RouteBuildEvent $event)
Provides routes on route rebuild time.
Parameters
\Drupal\Core\Routing\RouteBuildEvent $event: The route build event.
File
- core/lib/Drupal/Core/EventSubscriber/EntityRouteProviderSubscriber.php, line 39
Class
- EntityRouteProviderSubscriber
- Ensures that routes can be provided by entity types.
Namespace
Drupal\Core\EventSubscriber
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | public function onDynamicRouteEvent(RouteBuildEvent $event ) { $route_collection = $event ->getRouteCollection(); foreach ( $this ->entityManager->getDefinitions() as $entity_type ) { if ( $entity_type ->hasRouteProviders()) { foreach ( $this ->entityManager->getRouteProviders( $entity_type ->id()) as $route_provider ) { // Allow to both return an array of routes or a route collection, // like route_callbacks in the routing.yml file. $routes = $route_provider ->getRoutes( $entity_type ); if ( $routes instanceof RouteCollection) { $routes = $routes ->all(); } foreach ( $routes as $route_name => $route ) { // Don't override existing routes. if (! $route_collection ->get( $route_name )) { $route_collection ->add( $route_name , $route ); } } } } } } |
Please login to continue.