本文整理汇总了PHP中TYPO3\TYPO3CR\Domain\Model\NodeData::getDepth方法的典型用法代码示例。如果您正苦于以下问题:PHP NodeData::getDepth方法的具体用法?PHP NodeData::getDepth怎么用?PHP NodeData::getDepth使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TYPO3\TYPO3CR\Domain\Model\NodeData
的用法示例。
在下文中一共展示了NodeData::getDepth方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: generateCacheTags
/**
* Generates cache tags to be flushed for a node which is flushed on shutdown.
*
* Code duplicated from Neos' ContentCacheFlusher class
*
* @param NodeInterface|NodeData $node The node which has changed in some way
* @return void
*/
protected function generateCacheTags($node)
{
$this->tagsToFlush[ContentCache::TAG_EVERYTHING] = 'which were tagged with "Everything".';
$nodeTypesToFlush = $this->getAllImplementedNodeTypes($node->getNodeType());
foreach ($nodeTypesToFlush as $nodeType) {
/** @var NodeType $nodeType */
$nodeTypeName = $nodeType->getName();
$this->tagsToFlush['NodeType_' . $nodeTypeName] = sprintf('which were tagged with "NodeType_%s" because node "%s" has changed and was of type "%s".', $nodeTypeName, $node->getPath(), $node->getNodeType()->getName());
}
$this->tagsToFlush['Node_' . $node->getIdentifier()] = sprintf('which were tagged with "Node_%s" because node "%s" has changed.', $node->getIdentifier(), $node->getPath());
while ($node->getDepth() > 1) {
$node = $node->getParent();
if ($node === NULL) {
break;
}
$this->tagsToFlush['DescendantOf_' . $node->getIdentifier()] = sprintf('which were tagged with "DescendantOf_%s" because node "%s" has changed.', $node->getIdentifier(), $node->getPath());
}
if ($node instanceof NodeInterface && $node->getContext() instanceof ContentContext) {
$firstActiveDomain = $node->getContext()->getCurrentSite()->getFirstActiveDomain();
if ($firstActiveDomain) {
$this->domainsToFlush[] = $firstActiveDomain->getHostPattern();
}
}
}
示例2: getDepth
/**
* Returns the level at which this node is located.
* Counting starts with 0 for "/", 1 for "/foo", 2 for "/foo/bar" etc.
*
* @return integer
* @api
*/
public function getDepth()
{
return $this->nodeData->getDepth();
}
示例3: getDepthReturnsThePathDepthOfTheNode
/**
* @test
*/
public function getDepthReturnsThePathDepthOfTheNode()
{
$node = new NodeData('/', $this->mockWorkspace);
$this->assertEquals(0, $node->getDepth());
$node = new NodeData('/foo', $this->mockWorkspace);
$this->assertEquals(1, $node->getDepth());
$node = new NodeData('/foo/bar', $this->mockWorkspace);
$this->assertEquals(2, $node->getDepth());
$node = new NodeData('/foo/bar/baz/quux', $this->mockWorkspace);
$this->assertEquals(4, $node->getDepth());
}