Bug #76996
closedLanguage flags (css classes and sprites) got removed in 7.6.0
100%
Description
According to the commit message of issue 70477 some deprecations take place for v7 LTS via 7.6.0
https://forge.typo3.org/issues/70477
https://review.typo3.org/#/c/43897/
https://github.com/TYPO3/TYPO3.CMS/commit/58c46d75099acd8449aded959efe8f031cec13d0
https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.6/Deprecation-70477-DeprecateSpriteIconClasses.html
But this commit does more than a deprecation because it also removes files
typo3/sysext/core/Resources/Public/Css/flags.css
typo3/sysext/core/Resources/Public/Images/Sprites/flags.png
And it also removes a bugfix which was merged with 7.4.0
https://forge.typo3.org/issues/68217
https://github.com/TYPO3/TYPO3.CMS/commit/58c46d75099acd8449aded959efe8f031cec13d0#diff-c0eb99ae079c86116b6b94bb0cc1a7beL489
I'd be happy to still be able to support 6.2 with metaseo extension and move to IconRegistry as soon as we drop support for 6.2.
Details: https://github.com/mblaschke/TYPO3-metaseo/issues/257
Our old 6.2-style code is missing css classes for language flags and therefore only displays a red X icon.
We're using the css classes for flags in the backend.
I guess 58c46d75099acd8449aded959efe8f031cec13d0 must at least be considered as a breaking change the way it was done. Is that intended or is it a bug or was there a breaking change in the past (pre-6.2) which allows for the removal of the files?
Removal of flags.css and flags.png was suggested by Wouter Wolters (with a question mark).
A breaking change was suggested by Christian Kuhn (with a question mark) for Patch set 7 of https://review.typo3.org/#/c/43897/ But no breaking change was communicated.
I'm not sure if that was a breaking change, a bug or totally fine. Please give some feedback which was the intention here. For the moment it looks more like a bug to me, while I'm aware that there is a modern alternative in 7.6.x.
Suggested fix would be to give back the dropped files, css classes and bugfix 68217 for 7.6.x only.
Updated by Thomas Mayer over 8 years ago
Calling deprecated function in 7.6.10-dev
IconUtility::getSpriteIcon('flags-de');
is broken in 7.6. I get a red cross for that while the HTML output is
<span class="t3-icon t3-icon-status t3-icon-status-status t3-icon-status-icon-missing"> </span>
It could fall back to
/** @var \TYPO3\CMS\Core\Imaging\IconFactory $iconFactory */ $iconFactory = Typo3GeneralUtility::makeInstance('TYPO3\CMS\Core\Imaging\IconFactory'); $iconFactory->getIcon('flags-de', Icon::SIZE_SMALL);
Which gives me the HTML output
<span class="t3js-icon icon icon-size-small icon-state-default icon-flags-de" data-identifier="flags-de"> <span class="icon-markup"> <img src="/typo3/sysext/core/Resources/Public/Icons/Flags/SVG/DE.svg" height="16" width="16"> </span> </span>
So the suggested fix could be to let IconUtility::getSpriteIcon() call $iconFactory->getIcon().
That would result in SVG output (consistent with other SVG flags).
Note that 7.6.10-dev code documentation still suggests the use of IconUtility in respect to flags, e.g.
typo3/sysext/backend/Classes/Configuration/TranslationConfigurationProvider.php Line 47: The calling party should call * \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon(<flags-xx>) to get an HTML * which will represent the flag of this language.
Additionally, old css and .PNG flags and bugfix 68217 could be of use when used directly without using IconUtility::getSpriteIcon() or $iconFactory->getIcon() to make mitigate the breaking change.
Updated by Thomas Mayer over 8 years ago
Another option would be to implement issue 77048, which embeds all the SVG files into few css files. 77048 also allows to use simple CSS classes again while the same class names could be used as in 6.2, at least for a transition/deprecation concept.
If backported to 7.6, 77048 could even potentially mitigate the breaking change (which occured via 70477), still giving all the benefits of SVG, plus improving backend's performance in 7.6 and beyond.
Updated by Frank Nägler over 8 years ago
- Status changed from New to In Progress
- Assignee set to Frank Nägler
thank you for your report. I can confirm the broken spriteIcon stuff for the flags and will come up with a fix-
Updated by Gerrit Code Review over 8 years ago
- Status changed from In Progress to Under Review
Patch set 1 for branch TYPO3_7-6 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/49161
Updated by Gerrit Code Review over 8 years ago
Patch set 2 for branch TYPO3_7-6 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/49161
Updated by Gerrit Code Review over 8 years ago
Patch set 3 for branch TYPO3_7-6 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/49161
Updated by Frank Nägler over 8 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset 3c47cec708903f59f85b945c7cd183aaece56e0e.