diff --git a/typo3/sysext/backend/Classes/Tree/Pagetree/ExtdirectTreeDataProvider.php b/typo3/sysext/backend/Classes/Tree/Pagetree/ExtdirectTreeDataProvider.php index ab8c836f726f9bbdc3c095f8b5999c792bbcce59..7cf1797727edc35d53704902ef2c44aeea728772 100644 --- a/typo3/sysext/backend/Classes/Tree/Pagetree/ExtdirectTreeDataProvider.php +++ b/typo3/sysext/backend/Classes/Tree/Pagetree/ExtdirectTreeDataProvider.php @@ -118,16 +118,13 @@ class ExtdirectTreeDataProvider extends \TYPO3\CMS\Backend\Tree\AbstractExtJsTre * @return array */ public function getNodeTypes() { - $map = array( - 1 => 'LLL:EXT:lang/locallang_tca.xlf:doktype.I.0', - 3 => 'LLL:EXT:cms/locallang_tca.xlf:pages.doktype.I.8', - 4 => 'LLL:EXT:cms/locallang_tca.xlf:pages.doktype.I.2', - 6 => 'LLL:EXT:cms/locallang_tca.xlf:pages.doktype.I.4', - 7 => 'LLL:EXT:cms/locallang_tca.xlf:pages.doktype.I.5', - 199 => 'LLL:EXT:cms/locallang_tca.xlf:pages.doktype.I.7', - 254 => 'LLL:EXT:lang/locallang_tca.xlf:doktype.I.folder', - 255 => 'LLL:EXT:lang/locallang_tca.xlf:doktype.I.2' - ); + $doktypeLabelMap = array(); + foreach ($GLOBALS['TCA']['pages']['columns']['doktype']['config']['items'] as $doktypeItemConfig) { + if ($doktypeItemConfig[1] === '--div--') { + continue; + } + $doktypeLabelMap[$doktypeItemConfig[1]] = $doktypeItemConfig[0]; + } $doktypes = GeneralUtility::trimExplode(',', $GLOBALS['BE_USER']->getTSConfigVal('options.pageTree.doktypesToShowInNewPageDragArea')); $output = array(); $allowedDoktypes = GeneralUtility::trimExplode(',', $GLOBALS['BE_USER']->groupData['pagetypes_select']); @@ -136,7 +133,7 @@ class ExtdirectTreeDataProvider extends \TYPO3\CMS\Backend\Tree\AbstractExtJsTre if (!$isAdmin && !in_array($doktype, $allowedDoktypes)) { continue; } - $label = $GLOBALS['LANG']->sL($map[$doktype], TRUE); + $label = $GLOBALS['LANG']->sL($doktypeLabelMap[$doktype], TRUE); $spriteIcon = IconUtility::getSpriteIconClasses($GLOBALS['TCA']['pages']['ctrl']['typeicon_classes'][$doktype]); $output[] = array( 'nodeType' => $doktype,