Neos.Neos/Classes/Routing/FrontendNodeRoutePartHandler.php
protected function resolveRoutePathForNode(NodeInterface $node)
    {
        $workspaceName = $node->getContext()->getWorkspaceName();

        $nodeContextPath = $node->getContextPath();
        $nodeContextPathSuffix = ($workspaceName !== 'live') ? substr($nodeContextPath, strpos($nodeContextPath, '@')) : '';

        $currentNodeIsSiteNode = ($node->getParentPath() === SiteService::SITES_ROOT_PATH);
        $dimensionsUriSegment = $this->getUriSegmentForDimensions($node->getContext()->getDimensions(), $currentNodeIsSiteNode);
        $requestPath = $this->getRequestPathByNode($node);

        return trim($dimensionsUriSegment . $requestPath, '/') . $nodeContextPathSuffix;
    }
protected function resolveRoutePathForNode(NodeInterface $node)
    {
        $workspaceName = $node->getContext()->getWorkspaceName();

        $nodeContextPath = $node->getContextPath();
        $nodeContextPathSuffix = ($workspaceName !== 'live') ? substr($nodeContextPath, strpos($nodeContextPath, '@')) : '';

        $currentNodeIsSiteNode = ($node->getParentPath() === SiteService::SITES_ROOT_PATH);
        $dimensionsUriSegment = $this->getUriSegmentForDimensions($node->getContext()->getDimensions(), $currentNodeIsSiteNode);
        $requestPath = $this->getRequestPathByNode($node);

        return trim($dimensionsUriSegment . $requestPath, '/') . $nodeContextPathSuffix;
    }
protected function resolveRoutePathForNode ( NodeInterface $ node ) { $ workspaceName = $ node -> getContext ( ) -> getWorkspaceName ( ) ; $ nodeContextPath = $ node -> getContextPath ( ) ; $ nodeContextPathSuffix = ( $ workspaceName !== 'live' ) ? substr ( $ nodeContextPath , strpos ( $ nodeContextPath , '@' ) ) : '' ; $ currentNodeIsSiteNode = ( $ node -> getParentPath ( ) === SiteService :: SITES_ROOT_PATH ) ; $ dimensionsUriSegment = $ this -> getUriSegmentForDimensions ( $ node -> getContext ( ) -> getDimensions ( ) , $ currentNodeIsSiteNode ) ; $ requestPath = $ this -> getRequestPathByNode ( $ node ) ; return trim ( $ dimensionsUriSegment . $ requestPath , '/' ) . $ nodeContextPathSuffix ; }
Resolves the request path, also known as route path, identifying the given node.

A path is built, based on the uri path segment properties of the parents of and the given node itself.
If content dimensions are configured, the first path segment will the identifiers of the dimension
values according to the current context.

@param NodeInterface $node The node where the generated path should lead to
@return string The relative route path, possibly prefixed with a segment for identifying the current content dimension values
Resolves the request path also known as route path identifying the given node .