.. include:: /Includes.rst.txt .. _breaking-69863-1668719184: =============================================================== Breaking: #69863 - Changes in ViewHelpers post Standalone-Fluid =============================================================== See :issue:`69863` Description =========== The following ViewHelpers have changed behaviours in Fluid: * The `f:case` ViewHelper argument `default` has been marked as deprecated. To indicate which case is the default, use `f:defaultCase`. * Tag content of `f:render` is no longer ignored and will be output if called with `optional="1"`. * Arguments `iconOnly` and `styleAttributes` have been removed from `f:be.buttons.csh`. * Argument `alternateBackgroundColors` has been removed from `f:be.tableList`. * ViewHelpers no longer use the `escapingInterceptorEnabled` property but instead use `escapeChildren` and `escapeOutput` to control each behavior. * All ViewHelpers no longer initialize standard arguments ("additionalArguments" and "data") in `__construct()`, but instead do this in `initializeArguments()`. If you override this method, you need to make sure you include a call to `parent::initializeArguments()` in your subclass. The following ViewHelper classes are now only found in namespace `TYPO3Fluid\Fluid\ViewHelpers` and no longer exist in `TYPO3\CMS\Fluid\ViewHelpers`: * `TYPO3\CMS\Fluid\ViewHelpers\AliasViewHelper` * `TYPO3\CMS\Fluid\ViewHelpers\SwitchViewHelper` * `TYPO3\CMS\Fluid\ViewHelpers\CaseViewHelper` (present as deprecated alias until final removal) * `TYPO3\CMS\Fluid\ViewHelpers\CommentViewHelper` * `TYPO3\CMS\Fluid\ViewHelpers\CycleViewHelper` * `TYPO3\CMS\Fluid\ViewHelpers\ForViewHelper` * `TYPO3\CMS\Fluid\ViewHelpers\GroupedForViewHelper` * `TYPO3\CMS\Fluid\ViewHelpers\IfViewHelper` * `TYPO3\CMS\Fluid\ViewHelpers\ThenViewHelper` * `TYPO3\CMS\Fluid\ViewHelpers\ElseViewHelper` * `TYPO3\CMS\Fluid\ViewHelpers\LayoutViewHelper` * `TYPO3\CMS\Fluid\ViewHelpers\RenderViewHelper` * `TYPO3\CMS\Fluid\ViewHelpers\SectionViewHelper` * `TYPO3\CMS\Fluid\ViewHelpers\SpacelessViewHelper` * `TYPO3\CMS\Fluid\ViewHelpers\Format\CdataViewHelper` * `TYPO3\CMS\Fluid\ViewHelpers\Format\HtmlspecialcharsViewHelper` * `TYPO3\CMS\Fluid\ViewHelpers\Format\PrintfViewHelper` * `TYPO3\CMS\Fluid\ViewHelpers\Format\RawViewHelper` Impact ====== * A warning about use of an unregistered argument `default` will be displayed if templates contain `f:case` with `default` argument. * Unexpected template output will be output if templates are rendered which contain `will be output now`. * A warning about use of an unregistered argument `iconOnly` and/or `styleAttributes` will be displayed if templates contain `f:be.buttons.csh` with either argument. * A warning about use of an unregistered argument `alternateBackgroundColors` will be displayed if templates contain `f:be.tableList` with that argument. * Any third-party ViewHelpers subclassing any of the classes listed above must change parent class to new namespace. * Any third-party ViewHelpers using `escapingInterceptorEnabled` property to disable escaping. Affected Installations ====================== Any TYPO3 instance that uses a template which contains: * An `f:case` with `default` argument. * An `f:render` with `optional="1"` and having content in the `` tag. * An `f:be.buttons.csh` with either `iconOnly` or `styleAttributes` (value irrelevant). * An `f:be.tableList` with `alternateBackgroundColors` (value irrelevant). * Any third-party ViewHelper which subclasses any of the classes listed above. * Any third-party ViewHelper which uses `escapingInterceptorEnabled` property to disable escaping. Migration ========= * Remove the `default` option and change `f:case` to `f:defaultCase` for that case. * Remove the tag contents of `f:render`. * Remove arguments `iconOnly` and `styleAttributes` from `f:be.buttons.csh` where found. * Remove argument `alternateBackgroundColors` from `f:be.tableList` where found. * Update namespace of parent class in ViewHelpers subclassing any of the classes listed above. * Update ViewHelper class to use `escapeChildren` and/or `escapeOutput` depending on desired behavior. .. index:: Fluid