Document/Subscriber/RoutableSubscriber.php
public function handleCopy(CopyEvent $event)
    {
        $document = $event->getDocument();
        if (!$document instanceof RoutableBehavior) {
            return;
        }

        $locales = $this->documentInspector->getLocales($document);
        foreach ($locales as $locale) {
            $localizedDocument = $this->documentManager->find($event->getCopiedPath(), $locale);

            $route = $this->conflictResolver->resolve($this->chainRouteGenerator->generate($localizedDocument));
            $localizedDocument->setRoutePath($route->getPath());

            $node = $this->documentInspector->getNode($localizedDocument);
            $node->setProperty(
                $this->getRoutePathPropertyName($localizedDocument->getStructureType(), $locale),
                $route->getPath()
            );

            $propertyName = $this->getRoutePathPropertyName($localizedDocument->getStructureType(), $locale);
            $node = $this->documentInspector->getNode($localizedDocument);
            $node->setProperty($propertyName, $route->getPath());

            if ($localizedDocument instanceof ChildrenBehavior) {
                $this->generateChildRoutes($localizedDocument, $locale);
            }
        }
    }
public function handleCopy(CopyEvent $event)
    {
        $document = $event->getDocument();
        if (!$document instanceof RoutableBehavior) {
            return;
        }

        $locales = $this->documentInspector->getLocales($document);
        foreach ($locales as $locale) {
            $localizedDocument = $this->documentManager->find($event->getCopiedPath(), $locale);

            $route = $this->conflictResolver->resolve($this->chainRouteGenerator->generate($localizedDocument));
            $localizedDocument->setRoutePath($route->getPath());

            $node = $this->documentInspector->getNode($localizedDocument);
            $node->setProperty(
                $this->getRoutePathPropertyName($localizedDocument->getStructureType(), $locale),
                $route->getPath()
            );

            $propertyName = $this->getRoutePathPropertyName($localizedDocument->getStructureType(), $locale);
            $node = $this->documentInspector->getNode($localizedDocument);
            $node->setProperty($propertyName, $route->getPath());

            if ($localizedDocument instanceof ChildrenBehavior) {
                $this->generateChildRoutes($localizedDocument, $locale);
            }
        }
    }
public function handleCopy ( CopyEvent $ event ) { $ document = $ event -> getDocument ( ) ; if ( ! $ document instanceof RoutableBehavior ) { return ; } $ locales = $ this -> documentInspector -> getLocales ( $ document ) ; foreach ( $ locales as $ locale ) { $ localizedDocument = $ this -> documentManager -> find ( $ event -> getCopiedPath ( ) , $ locale ) ; $ route = $ this -> conflictResolver -> resolve ( $ this -> chainRouteGenerator -> generate ( $ localizedDocument ) ) ; $ localizedDocument -> setRoutePath ( $ route -> getPath ( ) ) ; $ node = $ this -> documentInspector -> getNode ( $ localizedDocument ) ; $ node -> setProperty ( $ this -> getRoutePathPropertyName ( $ localizedDocument -> getStructureType ( ) , $ locale ) , $ route -> getPath ( ) ) ; $ propertyName = $ this -> getRoutePathPropertyName ( $ localizedDocument -> getStructureType ( ) , $ locale ) ; $ node = $ this -> documentInspector -> getNode ( $ localizedDocument ) ; $ node -> setProperty ( $ propertyName , $ route -> getPath ( ) ) ; if ( $ localizedDocument instanceof ChildrenBehavior ) { $ this -> generateChildRoutes ( $ localizedDocument , $ locale ) ; } } }
Update routes for copied article.

@param CopyEvent $event
Update routes for copied article .