TYPO3 v15 dev-main snapshot ()

This commit is contained in:
2026-08-10 22:31:09 +02:00
commit af8cc155b5
6818 changed files with 642608 additions and 0 deletions
@@ -0,0 +1,51 @@
.. include:: /Includes.rst.txt
.. _feature-94692-1657826754:
=========================================================
Feature: #94692 - Registering Icons via Service Container
=========================================================
See :issue:`94692`
Description
===========
Extensions can now register their custom icons via
a configuration file placed in :file:`Configuration/Icons.php` of their
extension directory, e.g. :file:`typo3conf/ext/my_extension/Configuration/Icons.php`.
Each file needs to return a flat PHP configuration array, with
custom options used for the IconRegistry to register a new icon.
Example:
.. code-block:: php
<?php
return [
'myicon' => [
'provider' => \TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class,
'source' => 'EXT:my_extension/Resources/Public/Icons/myicon.svg'
],
'anothericon' => [
'provider' => \TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class,
'source' => 'EXT:my_extension/Resources/Public/Icons/anothericon.svg'
],
...
];
Impact
======
Using the new approach improves the loading speed of every request
as the registration can be handled at once and cached
during warmup of the core caches.
In addition, extension authors' :file:`ext_localconf.php` files are
drastically reduced, as extension authors have a better overview
and a better separation of concerns when registering custom
functionality.
.. index:: PHP-API, ext:core