FrontendConfigurationManager::overrideSwitchableControllerActionsFromFlexForm does not check if plugin has flexform
The Situation is as follows:
An Extbase plugin is inserted which has a Flexform configured, with switchable controller actions. The Plugin is saved. Then the editor realises that the wrong plugin was used, and changes list_type (or ctype) to a diffrent Plugin from the same extention, which does NOT have a Flexform configured!
The Situation is now that tt_content.pi_flexform has valid content, which is not used by the configured plugin, which is so far as it always has been.
But, TYPO3\CMS\Extbase\Configuration\FrontendConfigurationManager::overrideSwitchableControllerActionsFromFlexForm will override the Extbase controller and action based on the contents of pi_flexform without checking if the Plugin which is loaded actually is actually using the flexfrom, resulting in an error saying that controller "" has no valid action available.
checks if plugin has pi_flexform configured, before overriding its contents into the setup.
Updated by Nicole Cordes over 5 years ago
- Status changed from New to Accepted
It is not enough to check if a flexform is registered. There are even extensions which registers flexforms for e.g. 2 plugins but only one has switchableControllerActions. The problem already occurs in datahandler while saving the settings. There a validation should only store current flexform infomation in the database.
But this is an known problem since a long time and not related to TYPO3 7 LTS.