本文整理汇总了PHP中TYPO3\TYPO3CR\Domain\Model\NodeInterface::getParentPath方法的典型用法代码示例。如果您正苦于以下问题:PHP NodeInterface::getParentPath方法的具体用法?PHP NodeInterface::getParentPath怎么用?PHP NodeInterface::getParentPath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TYPO3\TYPO3CR\Domain\Model\NodeInterface
的用法示例。
在下文中一共展示了NodeInterface::getParentPath方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: moveAfter
/**
* Moves this node after the given node
*
* @param \TYPO3\TYPO3CR\Domain\Model\NodeInterface $referenceNode
* @throws \TYPO3\TYPO3CR\Exception\NodeExistsException
* @throws \TYPO3\TYPO3CR\Exception\NodeException
* @return void
* @api
*/
public function moveAfter(NodeInterface $referenceNode)
{
if ($referenceNode === $this) {
return;
}
if ($this->getPath() === '/') {
throw new \TYPO3\TYPO3CR\Exception\NodeException('The root node cannot be moved.', 1316361483);
}
if ($referenceNode->getParent() !== $this->getParent() && $referenceNode->getParent()->getNode($this->getName()) !== NULL) {
throw new \TYPO3\TYPO3CR\Exception\NodeExistsException('Node with path "' . $this->getName() . '" already exists.', 1292503469);
}
if (!$this->isNodeDataMatchingContext()) {
$this->materializeNodeData();
}
if ($referenceNode->getParentPath() !== $this->getParentPath()) {
$parentPath = $referenceNode->getParentPath();
$this->setPath($parentPath . ($parentPath === '/' ? '' : '/') . $this->getName());
$this->nodeDataRepository->persistEntities();
}
$this->nodeDataRepository->setNewIndex($this->nodeData, NodeDataRepository::POSITION_AFTER, $referenceNode);
$this->context->getFirstLevelNodeCache()->flush();
$this->emitNodeUpdated($this);
}
示例2: getRequestPathByNode
/**
* 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->getParentPath() !== SiteService::SITES_ROOT_PATH && $node instanceof NodeInterface) {
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));
}