TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-85902:
|
||||
|
||||
===================================
|
||||
Deprecation: #85902 - IMGMENU/GMENU
|
||||
===================================
|
||||
|
||||
See :issue:`85902`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Rendering a Hierarchical Menu via TypoScript previously allowed various rendering methods, namely textual (`TMENU`),
|
||||
but also rendering menu items as images (`GMENU`) or as an image map (`IMGMENU`). Both graphical possibilities
|
||||
have been marked as deprecated, as it is considered bad practice building websites
|
||||
nowadays - images with a fixed width, and text within images has various drawbacks in terms of accessibility and
|
||||
responsive renderings.
|
||||
|
||||
The following PHP classes have been marked as deprecated:
|
||||
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\GraphicalMenuContentObject`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\ImageMenuContentObject`
|
||||
|
||||
The related TypoScript menu objects `GMENU` and `GMENUITEM` as well as `IMGMENU` and `IMGMENUITEM` have been
|
||||
marked as deprecated.
|
||||
|
||||
On top the following TypoScript options within a MENU item, regarding TMENU have been marked as deprecated:
|
||||
|
||||
* imgNamePrefix
|
||||
* imgNameNotRandom
|
||||
|
||||
The following TMENU item properties should not be used anymore.
|
||||
|
||||
* RO_chBgColor
|
||||
* beforeImg
|
||||
* beforeImgTagParams
|
||||
* beforeImgLink
|
||||
* beforeROImg
|
||||
* RO
|
||||
* afterImg
|
||||
* afterImgTagParams
|
||||
* afterImgLink
|
||||
* afterROImg
|
||||
|
||||
The following item states have been marked as deprecated ("RO" for "rollover" in graphics-related items).
|
||||
|
||||
* IFSUBRO
|
||||
* ACTRO
|
||||
* ACTIFSUBRO
|
||||
* CURRO
|
||||
* CURIFSUBRO
|
||||
* USRRO
|
||||
* USERDEF1RO
|
||||
* USERDEF2RO
|
||||
|
||||
The following previously public properties are now marked as internal and trigger a PHP :php:`E_USER_DEPRECATED` error,
|
||||
partly due to preparations of refactoring the PHP code once GMENU functionality is removed, and partly
|
||||
due to the highly connected functionality within the PHP classes:
|
||||
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->menuNumber`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->entryLevel`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->spacerIDList`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->doktypeExcludeList`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->alwaysActivePIDlist`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->imgNamePrefix`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->imgNameNotRandom`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->debug`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->GMENU_fixKey`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->MP_array`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->conf`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->mconf`
|
||||
* [not scanned] :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->tmpl`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->sys_page`
|
||||
* [not scanned] :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->id`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->nextActive`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->menuArr`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->hash`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->result`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->rL_uidRegister`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->INPfixMD5`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->I`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->WMresult`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->WMfreezePrefix`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->WMmenuItems`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->WMsubmenuObjSuffixes`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->WMextraScript`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->WMcObj`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->alternativeMenuTempArray`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->nameAttribute`
|
||||
|
||||
The following methods have changed visibility:
|
||||
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->subMenu()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->link()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->procesItemStates()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->changeLinksForAccessRestrictedPages()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->isNext()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->isActive()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->isCurrent()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->isSubMenu()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->isItemState()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->accessKey()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->userProcess()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->setATagParts()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->getPageTitle()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->getMPvar()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->getDoktypeExcludeWhere()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->getBannedUids()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->menuTypoLink()`
|
||||
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\GraphicalMenuContentObject->extProc_RO()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\GraphicalMenuContentObject->extProc_init()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\GraphicalMenuContentObject->extProc_beforeLinking()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\GraphicalMenuContentObject->extProc_afterLinking()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\GraphicalMenuContentObject->extProc_beforeAllWrap()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\GraphicalMenuContentObject->extProc_finish()`
|
||||
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\TextMenuContentObject->getBeforeAfter()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\TextMenuContentObject->extProc_init()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\TextMenuContentObject->extProc_beforeLinking()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\TextMenuContentObject->extProc_afterLinking()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\TextMenuContentObject->extProc_beforeAllWrap()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\TextMenuContentObject->extProc_finish()`
|
||||
|
||||
The following functionality has been marked as deprecated as well:
|
||||
|
||||
* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->setJS('mouseOver')`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Instantiating any of the deprecated PHP classes, or calling any of the PHP methods will trigger a
|
||||
PHP :php:`E_USER_DEPRECATED` error, as well as setting any of the previously public properties.
|
||||
|
||||
Using `GMENU` or `IMGMENU` or any of the TypoScript settings will also raise a PHP :php:`E_USER_DEPRECATED` error.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
TYPO3 installations using `GMENU` or `IMGMENU` TypoScript functionality, roll-over functionality within menus
|
||||
in Frontend, or image-related functionality related to `HMENU`, or extending `HMENU` with their custom menus.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Migrate to `TMENU` by using "before" and "after" functionality to effectively render images with `GIFBUILDER`.
|
||||
|
||||
.. index:: Frontend, TypoScript, PartiallyScanned, ext:frontend
|
||||
Reference in New Issue
Block a user