routeProvider = $route_provider; $this->languageManager = $language_manager; } /** * Reacts to a collect paths event. * * @param \Drupal\tome_static\Event\CollectPathsEvent $event * The collect paths event. */ public function collectPaths(CollectPathsEvent $event) { $language_none = $this->languageManager ->getLanguage(LanguageInterface::LANGCODE_NOT_APPLICABLE); foreach ($this->routeProvider->getAllRoutes() as $route_name => $route) { try { $url = Url::fromRoute($route_name, [], [ 'language' => $language_none, ]); $path = $url->toString(); if ($path && $url->access()) { $event->addPath(parse_url($path, PHP_URL_PATH)); } } catch (\Throwable $e) { } } } /** * {@inheritdoc} */ public static function getSubscribedEvents() { $events[TomeStaticEvents::COLLECT_PATHS][] = ['collectPaths']; return $events; } }