If some node does not exist in the specified workspace, this function will
try to find a corresponding node in one of the base workspaces (if any).
public findOnPath ( string $pathStartingPoint, string $pathEndPoint, |
||
$pathStartingPoint | string | Absolute path specifying the starting point |
$pathEndPoint | string | Absolute path specifying the end point |
$workspace | The containing workspace | |
$dimensions | array | Array of dimensions to array of dimension values |
$includeRemovedNodes | boolean | Should removed nodes be included in the result (defaults to FALSE) |
$nodeTypeFilter | string | Optional filter for the node type of the nodes, supports complex expressions (e.g. "Neos.Neos:Page", "!Neos.Neos:Page,Neos.Neos:Text" or NULL) |
리턴 | array<\Neos\ContentRepository\Domain\Model\NodeData> |
/** * Finds all nodes lying on the path specified by (and including) the given * starting point and end point. * * @param mixed $startingPoint Either an absolute path or an actual node specifying the starting point, for example /sites/mysitecom * @param mixed $endPoint Either an absolute path or an actual node specifying the end point, for example /sites/mysitecom/homepage/subpage * @return array<\Neos\ContentRepository\Domain\Model\NodeInterface> The nodes found between and including the given paths or an empty array of none were found * @api */ public function getNodesOnPath($startingPoint, $endPoint) { $startingPointPath = $startingPoint instanceof NodeInterface ? $startingPoint->getPath() : $startingPoint; $endPointPath = $endPoint instanceof NodeInterface ? $endPoint->getPath() : $endPoint; $nodeDataElements = $this->nodeDataRepository->findOnPath($startingPointPath, $endPointPath, $this->getWorkspace(), $this->getDimensions(), $this->isRemovedContentShown()); $nodes = array(); foreach ($nodeDataElements as $nodeData) { $node = $this->nodeFactory->createFromNodeData($nodeData, $this); if ($node !== null) { $nodes[] = $node; $this->firstLevelNodeCache->setByPath($node->getPath(), $node); } } return $nodes; }