Example #1
0
 /**
  * Delete node route.
  *
  * @param NodeInterface $node
  * @param RouteInterface $route
  */
 private function deleteNodeRoute(NodeInterface $node, RouteInterface $route)
 {
     $this->routeManager->remove($route);
     $redirectRouteName = $route->getDefault('redirectRouteName');
     if (RedirectRoute::NODE_TYPE === $node->getType() && null !== $redirectRouteName) {
         $redirectRoute = $this->redirectRouteManager->findByName($redirectRouteName);
         if (null !== $redirectRoute) {
             $this->redirectRouteManager->remove($redirectRoute);
         }
     }
 }
 /**
  * Reverse transform.
  *
  * @param NodeTranslationInterface $nodeTranslation
  *
  * @return NodeTranslationInterface
  */
 public function reverseTransform($nodeTranslation)
 {
     $route = $nodeTranslation->getRoute();
     if (null !== $route && $route->getRoutePattern()) {
         $node = $nodeTranslation->getNode();
         if ('redirect' === $node->getType()) {
             $this->routeGenerator->generateRoute($route, $node, $nodeTranslation->getLang());
             $this->redirectRoute->setName($route->getName());
             $route->setDefault('redirectRouteName', $this->redirectRoute->getName());
             $this->routeManager->add($route);
             $this->redirectRouteManager->add($this->redirectRoute);
         } else {
             $this->routeManager->remove($route);
             $this->redirectRouteManager->remove($this->redirectRoute);
         }
     }
     return $nodeTranslation;
 }