3 namespace Drupal\node\Entity;
5 use Drupal\Core\Entity\EntityTypeInterface;
6 use Drupal\Core\Entity\Routing\EntityRouteProviderInterface;
7 use Symfony\Component\Routing\Route;
8 use Symfony\Component\Routing\RouteCollection;
11 * Provides routes for nodes.
13 class NodeRouteProvider implements EntityRouteProviderInterface {
18 public function getRoutes( EntityTypeInterface $entity_type) {
19 $route_collection = new RouteCollection();
20 $route = (new Route('/node/{node}'))
22 '_controller' => '\Drupal\node\Controller\NodeViewController::view',
23 '_title_callback' => '\Drupal\node\Controller\NodeViewController::title',
25 ->setRequirement('node', '\d+')
26 ->setRequirement('_entity_access', 'node.view');
27 $route_collection->add('entity.node.canonical', $route);
29 $route = (new Route('/node/{node}/delete'))
31 '_entity_form' => 'node.delete',
34 ->setRequirement('node', '\d+')
35 ->setRequirement('_entity_access', 'node.delete')
36 ->setOption('_node_operation_route', TRUE);
37 $route_collection->add('entity.node.delete_form', $route);
39 $route = (new Route('/node/{node}/edit'))
40 ->setDefault('_entity_form', 'node.edit')
41 ->setRequirement('_entity_access', 'node.update')
42 ->setRequirement('node', '\d+')
43 ->setOption('_node_operation_route', TRUE);
44 $route_collection->add('entity.node.edit_form', $route);
46 return $route_collection;