Bug #72505
closedCannot override a record overlay
100%
Description
Prior to TYPO3 7 LTS, it was possible to override a record overlay in Web > List.
This was used in some extensions such as EXT:ig_ldap_sso_auth to visually show that a corresponding record was related to LDAP in Web > List:
Registration was done from one part in ext_tables.php
:
$GLOBALS['TBE_STYLES']['spriteIconApi']['spriteIconRecordOverlayPriorities'][] = 'is_ldap_record'; $GLOBALS['TBE_STYLES']['spriteIconApi']['spriteIconRecordOverlayNames']['is_ldap_record'] = 'extensions-' . $_EXTKEY . '-overlay-ldap-record';
which allowed to register an additional overlay priority and the mapping to the corresponding icon to be used. This is something that is not possible anymore since the list of priorities and the mapping to the name is now hard coded in \TYPO3\CMS\Core\Imaging\IconFactory::$overlayPriorities
and \TYPO3\CMS\Core\Imaging\IconFactory::$recordStatusMapping
without any possibility to change them.
And another part was in ext_localconf.php
:
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_iconworks.php']['overrideIconOverlay'][] = 'EXT:' . $_EXTKEY . '/Classes/Hooks/DatabaseRecordListIconUtility.php:Causal\\IgLdapSsoAuth\\Hooks\\DatabaseRecordListIconUtility';
The hook was previously called by \TYPO3\CMS\Backend\Utility\IconUtility::mapRecordOverlayToSpriteIconName
but it has not been copied over. This has been documented as breaking by #69057 but without any possible replacement.
Extensions are now unable to do such thing and as such we dropped a feature without any replacement while refactoring the icon utility.
Files