diff --git a/typo3/sysext/core/Classes/Imaging/IconRegistry.php b/typo3/sysext/core/Classes/Imaging/IconRegistry.php index f0d644ce22d9f31d8217308ff3a9de0be7c6427c..ae28b2b236d542cee0fcf49fd007e2da4a6736ba 100644 --- a/typo3/sysext/core/Classes/Imaging/IconRegistry.php +++ b/typo3/sysext/core/Classes/Imaging/IconRegistry.php @@ -1781,7 +1781,32 @@ class IconRegistry implements \TYPO3\CMS\Core\SingletonInterface { 'options' => array( 'source' => 'EXT:core/Resources/Public/Icons/Flags/wales.png' ) - ) + ), + + 'tcarecords-sys_domain-default' => array( + 'provider' => SvgIconProvider::class, + 'options' => array( + 'source' => 'EXT:backend/Resources/Public/Icons/Overlay/overlay-translated.svg' + ) + ), + 'tcarecords-sys_template-default' => array( + 'provider' => BitmapIconProvider::class, + 'options' => array( + 'source' => 'EXT:t3skin/images/icons/mimetypes/x-content-template.png' + ) + ), + 'tcarecords-sys_workspace-default' => array( + 'provider' => BitmapIconProvider::class, + 'options' => array( + 'source' => 'EXT:t3skin/images/icons/mimetypes/x-sys_workspace.png' + ) + ), + 'tcarecords-sys_workspace_stage-default' => array( + 'provider' => BitmapIconProvider::class, + 'options' => array( + 'source' => 'EXT:t3skin/images/icons/mimetypes/x-sys_workspace.png' + ) + ), ); /** @@ -2034,6 +2059,10 @@ class IconRegistry implements \TYPO3\CMS\Core\SingletonInterface { if (is_array($GLOBALS['TCA'][$tableName])) { $tcaCtrl = $GLOBALS['TCA'][$tableName]['ctrl']; $icon = NULL; + $iconIdentifier = 'tcarecords-' . $tableName . '-default'; + if ($this->isRegistered($iconIdentifier)) { + continue; + } if (isset($tcaCtrl['iconfile'])) { if (StringUtility::beginsWith($tcaCtrl['iconfile'], 'EXT:')) { $icon = $tcaCtrl['iconfile']; @@ -2041,7 +2070,7 @@ class IconRegistry implements \TYPO3\CMS\Core\SingletonInterface { $icon = TYPO3_mainDir . GeneralUtility::resolveBackPath($tcaCtrl['iconfile']); } if ($icon !== NULL) { - $resultArray['tcarecords-' . $tableName . '-default'] = $icon; + $resultArray[$iconIdentifier] = $icon; } } } @@ -2051,6 +2080,9 @@ class IconRegistry implements \TYPO3\CMS\Core\SingletonInterface { if (StringUtility::beginsWith($iconFile, '../typo3conf/ext/')) { $iconFile = str_replace('../typo3conf/ext/', 'EXT:', $iconFile); } + if (StringUtility::beginsWith($iconFile, 'sysext/')) { + $iconFile = str_replace('sysext/', 'EXT:', $iconFile); + } $resultArray[$iconIdentifier] = $iconFile; } }