78 lines
2.7 KiB
ReStructuredText
78 lines
2.7 KiB
ReStructuredText
.. include:: /Includes.rst.txt
|
|
|
|
.. _deprecation-94209:
|
|
|
|
======================================================
|
|
Deprecation: #94209 - Backend ModuleLayout ViewHelpers
|
|
======================================================
|
|
|
|
See :issue:`94209`
|
|
|
|
Description
|
|
===========
|
|
|
|
The following Fluid ViewHelpers have been deprecated:
|
|
|
|
* :html:`be:moduleLayout`
|
|
* :html:`be:moduleLayout.menu`
|
|
* :html:`be:moduleLayout.menuItem`
|
|
* :html:`be:moduleLayout.button.linkButton`
|
|
* :html:`be:moduleLayout.button.shortcutButton`
|
|
|
|
These ViewHelpers partially mimic their counterparts of the PHP based
|
|
:php:`ModuleTemplate` API. They were previously used in backend modules
|
|
when the 'doc header' handling was done in Fluid.
|
|
|
|
The ViewHelpers however relied on knowledge that shouldn't be the scope
|
|
of a view component, especially variables like the current action
|
|
and controller had to be assigned to the view in many cases.
|
|
|
|
Additionally, those ViewHelpers were only a sub set of the ModuleTemplate
|
|
functionality and created a second API for the same problem domain and
|
|
various scenarios like good shortcut implementation and main drop down
|
|
state were hard to solve when using these ViewHelpers.
|
|
|
|
|
|
Impact
|
|
======
|
|
|
|
Using these ViewHelpers will trigger a PHP :php:`E_USER_DEPRECATED` error.
|
|
|
|
|
|
Affected Installations
|
|
======================
|
|
|
|
Some extensions with backend modules may use these ViewHelpers. Searching
|
|
templates for string :php:`be:moduleLayout` should reveal usages. Extensions
|
|
extending the PHP classes are found by the extension scanner as a weak match.
|
|
|
|
|
|
Migration
|
|
=========
|
|
|
|
In general, extensions using these ViewHelpers should switch to using the
|
|
PHP API based on class :php:`\TYPO3\CMS\Backend\Template\ModuleTemplate`,
|
|
usually initialized by class
|
|
:php:`\TYPO3\CMS\Backend\Template\ModuleTemplateFactory` instead.
|
|
All Core extensions that render backend
|
|
modules provide usage examples and the fluent API is quite straight
|
|
forward.
|
|
|
|
Using the :html:`be:moduleLayout` ViewHelper always rendered FlashMessages
|
|
from the queue :php:`'extbase.flashmessages.' . $pluginNamespace` on top of the
|
|
content area. You can either use the :html:`f:flashMessages` ViewHelper
|
|
or :php:`\TYPO3\CMS\Backend\Template\ModuleTemplate::setFlashMessageQueue()`
|
|
as replacements.
|
|
|
|
For Extbase base backend modules, the 'doc header' should be handled within
|
|
controller actions, while the module body is rendered
|
|
by the Fluid view component.
|
|
|
|
In case an extension heavily relies on the deprecated ViewHelpers and the
|
|
functionality should be kept with as little work as possible, the easiest
|
|
way is of course to simply copy the according ViewHelpers to the extension
|
|
directly and to just adapt the namespace in templates accordingly.
|
|
|
|
|
|
.. index:: Backend, Fluid, PartiallyScanned, ext:backend
|