Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / chi-teck / drupal-code-generator / templates / d8 / service / route-subscriber.twig
1 <?php
2
3 namespace Drupal\{{ machine_name }}\EventSubscriber;
4
5 use Drupal\Core\Routing\RouteSubscriberBase;
6 use Drupal\Core\Routing\RoutingEvents;
7 use Symfony\Component\Routing\RouteCollection;
8
9 /**
10  * {{ name }} route subscriber.
11  */
12 class {{ class }} extends RouteSubscriberBase {
13
14   /**
15    * {@inheritdoc}
16    */
17   protected function alterRoutes(RouteCollection $collection) {
18     foreach ($collection->all() as $route) {
19       // Hide taxonomy pages from unprivileged users.
20       if (strpos($route->getPath(), '/taxonomy/term') === 0) {
21         $route->setRequirement('_role', 'administrator');
22       }
23     }
24   }
25
26   /**
27    * {@inheritdoc}
28    */
29   public static function getSubscribedEvents() {
30     $events = parent::getSubscribedEvents();
31
32     // Use a lower priority than \Drupal\views\EventSubscriber\RouteSubscriber
33     // to ensure the requirement will be added to its routes.
34     $events[RoutingEvents::ALTER] = ['onAlterRoutes', -300];
35
36     return $events;
37   }
38
39 }