Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace Drupal\node\Entity;
|
Chris@0
|
4
|
Chris@0
|
5 use Drupal\Core\Entity\EntityTypeInterface;
|
Chris@0
|
6 use Drupal\Core\Entity\Routing\EntityRouteProviderInterface;
|
Chris@0
|
7 use Symfony\Component\Routing\Route;
|
Chris@0
|
8 use Symfony\Component\Routing\RouteCollection;
|
Chris@0
|
9
|
Chris@0
|
10 /**
|
Chris@0
|
11 * Provides routes for nodes.
|
Chris@0
|
12 */
|
Chris@0
|
13 class NodeRouteProvider implements EntityRouteProviderInterface {
|
Chris@0
|
14
|
Chris@0
|
15 /**
|
Chris@0
|
16 * {@inheritdoc}
|
Chris@0
|
17 */
|
Chris@0
|
18 public function getRoutes(EntityTypeInterface $entity_type) {
|
Chris@0
|
19 $route_collection = new RouteCollection();
|
Chris@0
|
20 $route = (new Route('/node/{node}'))
|
Chris@0
|
21 ->addDefaults([
|
Chris@0
|
22 '_controller' => '\Drupal\node\Controller\NodeViewController::view',
|
Chris@0
|
23 '_title_callback' => '\Drupal\node\Controller\NodeViewController::title',
|
Chris@0
|
24 ])
|
Chris@0
|
25 ->setRequirement('node', '\d+')
|
Chris@0
|
26 ->setRequirement('_entity_access', 'node.view');
|
Chris@0
|
27 $route_collection->add('entity.node.canonical', $route);
|
Chris@0
|
28
|
Chris@0
|
29 $route = (new Route('/node/{node}/delete'))
|
Chris@0
|
30 ->addDefaults([
|
Chris@0
|
31 '_entity_form' => 'node.delete',
|
Chris@0
|
32 '_title' => 'Delete',
|
Chris@0
|
33 ])
|
Chris@0
|
34 ->setRequirement('node', '\d+')
|
Chris@0
|
35 ->setRequirement('_entity_access', 'node.delete')
|
Chris@0
|
36 ->setOption('_node_operation_route', TRUE);
|
Chris@0
|
37 $route_collection->add('entity.node.delete_form', $route);
|
Chris@0
|
38
|
Chris@0
|
39 $route = (new Route('/node/{node}/edit'))
|
Chris@0
|
40 ->setDefault('_entity_form', 'node.edit')
|
Chris@0
|
41 ->setRequirement('_entity_access', 'node.update')
|
Chris@0
|
42 ->setRequirement('node', '\d+')
|
Chris@0
|
43 ->setOption('_node_operation_route', TRUE);
|
Chris@0
|
44 $route_collection->add('entity.node.edit_form', $route);
|
Chris@0
|
45
|
Chris@0
|
46 return $route_collection;
|
Chris@0
|
47 }
|
Chris@0
|
48
|
Chris@0
|
49 }
|