Bug #45092

Updated by Christian Kuhn about 8 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?

Back