40 lines
972 B
Twig
40 lines
972 B
Twig
<?php
|
|
|
|
namespace Drupal\{{ machine_name }}\EventSubscriber;
|
|
|
|
use Drupal\Core\Routing\RouteSubscriberBase;
|
|
use Drupal\Core\Routing\RoutingEvents;
|
|
use Symfony\Component\Routing\RouteCollection;
|
|
|
|
/**
|
|
* {{ name }} route subscriber.
|
|
*/
|
|
class {{ class }} extends RouteSubscriberBase {
|
|
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
protected function alterRoutes(RouteCollection $collection) {
|
|
foreach ($collection->all() as $route) {
|
|
// Hide taxonomy pages from unprivileged users.
|
|
if (strpos($route->getPath(), '/taxonomy/term') === 0) {
|
|
$route->setRequirement('_role', 'administrator');
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
public static function getSubscribedEvents() {
|
|
$events = parent::getSubscribedEvents();
|
|
|
|
// Use a lower priority than \Drupal\views\EventSubscriber\RouteSubscriber
|
|
// to ensure the requirement will be added to its routes.
|
|
$events[RoutingEvents::ALTER] = ['onAlterRoutes', -300];
|
|
|
|
return $events;
|
|
}
|
|
|
|
}
|