Important: #82763 - Fluid config for ExpressionNodeType and TemplatePreProcessor made global¶
See Issue #82763
Before, Fluid's arrays of class names for
TemplatePreProcessor were hardcoded into the
RenderingContext constructor and were not possible to modify except when having access to the
Now, these two arrays of class names are possible to configure in
TYPO3_CONF_VARS which allows extensions or site
administrators to add and remove such Fluid components on a global level.
// Add one new ExpressionNodeType and one new TemplatePreProcessor to be used in every RenderingContext // For example from an ext_localconf.php file in an extension. $GLOBALS['TYPO3_CONF_VARS']['SYS']['fluid']['expressionNodeTypes'] = \MyVendor\MyExtension\MyFluidExpressionNodeType::class; $GLOBALS['TYPO3_CONF_VARS']['SYS']['fluid']['preProcessors'] = \MyVendor\MyExtension\MyFluidTemplatePreProcessor::class;
These classes will then be added to the list of existing implementations and will be automatically used as defaults
RenderingContext instances are created.
See for reference how to create such implementations:
Both interfaces contain the documentation for how they must be implemented, when/why functions get called and what the
expected return types are. The interfaces must of course be implemented by classes you add to
these configuration sections. Due to their global nature you should be very careful to implement the classes and in
particular observe the return types.