Exemplo n.º 1
0
 /**
  * Creates a page of the given doktype and returns the id of the created page
  *
  * @param \TYPO3\CMS\Backend\Tree\Pagetree\PagetreeNode $parentNode
  * @param int $targetId
  * @param int $pageType
  * @return int
  */
 public static function createNode(\TYPO3\CMS\Backend\Tree\Pagetree\PagetreeNode $parentNode, $targetId, $pageType)
 {
     $placeholder = 'NEW12345';
     $pid = (int) $parentNode->getWorkspaceId();
     $targetId = (int) $targetId;
     // Use page TsConfig as default page initialization
     $pageTs = BackendUtility::getPagesTSconfig($pid);
     if (array_key_exists('TCAdefaults.', $pageTs) && array_key_exists('pages.', $pageTs['TCAdefaults.'])) {
         $data['pages'][$placeholder] = $pageTs['TCAdefaults.']['pages.'];
     } else {
         $data['pages'][$placeholder] = array();
     }
     $data['pages'][$placeholder]['pid'] = $pid;
     $data['pages'][$placeholder]['doktype'] = $pageType;
     $data['pages'][$placeholder]['title'] = $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:tree.defaultPageTitle', TRUE);
     $newPageId = self::processTceCmdAndDataMap(array(), $data);
     $node = self::getNode($newPageId[$placeholder]);
     if ($pid !== $targetId) {
         self::moveNode($node, $targetId);
     }
     return $newPageId[$placeholder];
 }