/**
  * Creates and persists a node from the given $nodeTemplate as child node
  *
  * @param \TYPO3\TYPO3CR\Domain\Model\NodeTemplate $nodeTemplate
  * @param string $nodeName name of the new node. If not specified the name of the nodeTemplate will be used.
  * @param \TYPO3\TYPO3CR\Domain\Model\Workspace $workspace
  * @param array $dimensions
  * @return \TYPO3\TYPO3CR\Domain\Model\NodeData the freshly generated node
  */
 public function createNodeDataFromTemplate(NodeTemplate $nodeTemplate, $nodeName = null, Workspace $workspace = null, array $dimensions = null)
 {
     $newNodeName = $nodeName !== null ? $nodeName : $nodeTemplate->getName();
     $possibleNodeName = $this->nodeService->generateUniqueNodeName($this->getPath(), $newNodeName);
     $newNodeData = $this->createNodeData($possibleNodeName, $nodeTemplate->getNodeType(), $nodeTemplate->getIdentifier(), $workspace, $dimensions);
     $newNodeData->similarize($nodeTemplate);
     return $newNodeData;
 }
Example #2
0
 /**
  * Creates and persists a node from the given $nodeTemplate as child node
  *
  * @param \TYPO3\TYPO3CR\Domain\Model\NodeTemplate $nodeTemplate
  * @param string $nodeName name of the new node. If not specified the name of the nodeTemplate will be used.
  * @param \TYPO3\TYPO3CR\Domain\Model\Workspace $workspace
  * @param array $dimensions
  * @return \TYPO3\TYPO3CR\Domain\Model\NodeData the freshly generated node
  */
 public function createNodeDataFromTemplate(NodeTemplate $nodeTemplate, $nodeName = NULL, Workspace $workspace = NULL, array $dimensions = NULL)
 {
     $newNodeName = $nodeName !== NULL ? $nodeName : $nodeTemplate->getName();
     $possibleNodeName = $newNodeName;
     $counter = 1;
     while ($this->getNode($possibleNodeName) !== NULL) {
         $possibleNodeName = $newNodeName . '-' . $counter++;
     }
     $newNodeData = $this->createNodeData($possibleNodeName, $nodeTemplate->getNodeType(), $nodeTemplate->getIdentifier(), $workspace, $dimensions);
     $newNodeData->similarize($nodeTemplate);
     return $newNodeData;
 }