Bug #45092
Updated by Christian Kuhn over 10 years ago
At the moment it does not seem possible to disable the default MediaWizardProvider
<pre>
TYPO3\CMS\Frontend\MediaWizard\MediaWizardProvider
</pre>
This also makes it impossible to use custom renderers in @TYPO3\CMS\Frontend\ContentObject\MediaContentObject@ for all URLs that this renderer can handle.
I already tried to extend the MediaWizardProvider with the configuration in
<pre>
$GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects']['TYPO3\\CMS\\Frontend\\MediaWizard\\MediaWizardProvider']
</pre>
This does not work because:
# when I put it in the @ext_localconf.php@ file of my extension (_mediaoembed_) the configuration file of the _cms_ extension that registers the MediaWizardProvider gets always loaded *before* the configuration file of the extension, so it does not know about the overwritten class.
# when I put it my global @AdditionalConfiguration.php@ the overwritten class configuration gets recognized but the class loader will throw an exception because the _mediaoembed_ extension is not loaded (yet).
As far as I can see, there are several approaches to solve this.
# Do not call @\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance()@ when calling @\TYPO3\CMS\Frontend\MediaWizard\MediaWizardProviderManager::registerMediaWizardProvider()@. This is just too early. There needs to be some initialization method in the @MediaWizardProviderManager@ that gets called one time at the beginning of @getValidMediaWizardProvider()@. This would make sure that the class overwriting system is fully initialized.
# Add a configuration variable for @LocalConfiguration.php@ to disable the registration of the default @MediaWizardProvider@
Maybe even both solutions should be implemented.
Do you have any input on this? Otherwise I will start writing a patch.
Would this be a bugfix or a feature?