/** * 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]; }