3 namespace Drupal\node\EventSubscriber;
5 use Drupal\Core\Config\ConfigFactoryInterface;
6 use Drupal\Core\Routing\RouteSubscriberBase;
7 use Symfony\Component\Routing\RouteCollection;
10 * Sets the _admin_route for specific node-related routes.
12 class NodeAdminRouteSubscriber extends RouteSubscriberBase {
17 * @var \Drupal\Core\Config\ConfigFactoryInterface
19 protected $configFactory;
22 * Constructs a new NodeAdminRouteSubscriber.
24 * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
27 public function __construct(ConfigFactoryInterface $config_factory) {
28 $this->configFactory = $config_factory;
34 protected function alterRoutes(RouteCollection $collection) {
35 if ($this->configFactory->get('node.settings')->get('use_admin_theme')) {
36 foreach ($collection->all() as $route) {
37 if ($route->hasOption('_node_operation_route')) {
38 $route->setOption('_admin_route', TRUE);