Breaking: #82414 - CMS ViewHelper base classes removed
See forge#82414
Description
The following ViewHelper base classes have been removed:
\TYPO3\
CMS\ Fluid\ Core\ View Helper\ Abstract Condition View Helper \TYPO3\
CMS\ Fluid\ Core\ View Helper\ Abstract Tag Based View Helper \TYPO3\
CMS\ Fluid\ Core\ View Helper\ Abstract View Helper \TYPO3\
CMS\ Fluid\ Core\ View Helper\ Argument Definition
Aliases are in place, but the following key differences may break your code:
- Render method arguments are no longer possible at all
- The property
$this->controller
is no longer definedContext
Impact
Render method arguments have been deprecated for a long time and should already have been migrated in your code. If you still have ViewHelpers using render method arguments, these will break after this change.
Affected Installations
All instances which use a ViewHelper that either contains render method arguments, extends from one
of the base classes above, or or accesses $this->controller
.
Migration
Migrate to use render
methods (see examples in TYPO3 Core, EXT:fluid) to not use
render method arguments.
ViewHelpers which access $this->controller
can instead access
$this->rendering
.
Instead of using the (now removed) abstract classes from ext:fluid, use the classes
supplied in vendor/
:
\TYPO3Fluid\
Fluid\ Core\ View Helper\ Abstract Condition View Helper \TYPO3Fluid\
Fluid\ Core\ View Helper\ Abstract Tag Based View Helper \TYPO3Fluid\
Fluid\ Core\ View Helper\ Abstract View Helper \TYPO3Fluid\
Fluid\ Core\ View Helper\ Argument Definition
and change your code accordingly.
Migrating this can be done with search-and-replace for all common use cases.