Discussion Topic
TypoScript allows for generating menus (HMENU
) via TMENU
(Textual Menu Items) or GMENU
(Menu Items built with Images), additionally we had GMENU_LAYERS
, TMENU_LAYERS
and JSMENU
, removed some time during TYPO3 v6.x development.
Due to the movement of going into more flexible layouts without navigation titles written into images, I suggest to drop the functionality of all other possibilities other than TMENU
in TYPO3 v10. This also means to deprecate GMENU
in TYPO3 Core for v9, and then to remove this functionality in TYPO3 v10.
This allows to reduce complexity inside the HMENU
functionality drastically, which will also show visible points for.
As a TYPO3 user/developer for 15 years, I’ve done all sorts of menus with GMENU, TMENU, GMENU_LAYERS and JSMENU, and with custom menus. I haven’t done any updates to v6.2+ while keeping any of the layers code or GMENU code, but all is done now natively with CSS 2.1 or JS directly, I do not see a need to keep that functionality at all anymore. However, in my opinion, if people need some kind of functionality like GMENU, it is possible via TypoScript to build this in a very custom manner + HMENU has lots of flexibility to extend the menu rendering process on top.
Impact
- Deprecation of GMENU in v9
- Breaking: Removal of GMENU code + *_LAYERS and JSMENU support in TYPO3 v10 (mostly internal functionality within HMENU code)
Possible Migrations
- Integrators would need to migrate to either TMENU or custom TypoScript/PHP code, which is doable IMHO.
Pro
- Faster page generation (with TMENU anyway)
- Possibilities to refactor HMENU (easier) and to reduce complexity in the PHP code
- Less code to maintain, which is used by (personal estimate) less than 0.1% of the integrator base in TYPO3 v9
Con
- People using GMENU would be upset
- We loose functionality
Organizational
Topic Initiator: Benni Mack