Feature #92778
Updated by Sebastian Michaelsen about 4 years ago
TYPO3 should provide a way to programmtically enhance the Site configuration right after it was read from the YAML file(s) and before it is cached (i.e. here: https://github.com/TYPO3/TYPO3.CMS/blob/abfef0336cb0d25335ace900df385e98d2951820/typo3/sysext/core/Classes/Configuration/SiteConfiguration.php#L172).
My first approach was using a middleware that modified the site config after it was initialized, but that can only modify the configuration of the *current* page. The configuration will be initialized again for the @$siteOfTargetPage@ when you link to a page for example.
*Use Case:*
My "EXT:dynamic_routing_pages":https://github.com/smichaelsen/typo3-dynamic-routing-pages programatically provides the page ids for routes, that otherwise are hardcoded. Currently I have to use an Xclass to achieve it.
Also other extensions could provide site configuration programatically, e.g. determining the root page, languages or "project specific options":https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/SiteHandling/ExtendingSiteConfig.html.