当前位置: 首页>>代码示例>>PHP>>正文


PHP NodeInterface::getParentPath方法代码示例

本文整理汇总了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);
 }
开发者ID:radmiraal,项目名称:TYPO3.TYPO3CR,代码行数:32,代码来源:Node.php

示例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));
 }
开发者ID:hhoechtl,项目名称:neos-development-collection,代码行数:23,代码来源:FrontendNodeRoutePartHandler.php


注:本文中的TYPO3\TYPO3CR\Domain\Model\NodeInterface::getParentPath方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。