Returns the parent node path
public getParentPath ( ) : string | ||
return | string | Absolute node path of the parent node |
/** * Renders a request path based on the "uriPathSegment" properties of the nodes leading to the given node. * * @param NodeInterface $node The node where the generated path should lead to * @return string A relative request path * @throws Exception\MissingNodePropertyException if the given node doesn't have a "uriPathSegment" property set */ protected function getRequestPathByNode(NodeInterface $node) { if ($node->getParentPath() === SiteService::SITES_ROOT_PATH) { return ''; } $requestPathSegments = []; while ($node instanceof NodeInterface && $node->getParentPath() !== SiteService::SITES_ROOT_PATH) { if (!$node->hasProperty('uriPathSegment')) { throw new Exception\MissingNodePropertyException(sprintf('Missing "uriPathSegment" property for node "%s". Nodes can be migrated with the "flow node:repair" command.', $node->getPath()), 1415020326); } $pathSegment = $node->getProperty('uriPathSegment'); $requestPathSegments[] = $pathSegment; $node = $node->getParent(); } return implode('/', array_reverse($requestPathSegments)); }