[BUGFIX] HMENU rendering uses old tslib_ class names 73/18973/2
authorChristian Kuhn <lolli@schwarzbu.ch>
Thu, 14 Mar 2013 16:39:14 +0000 (17:39 +0100)
committerChristian Kuhn <lolli@schwarzbu.ch>
Sat, 16 Mar 2013 14:25:01 +0000 (15:25 +0100)
commite64683c8d5a5d1fc769284e9693be46b3de4efa6
tree64f515c312a9d1a5a1f07dd8b7efafaed69525d1
parent7718387c7ee64d514e33a7aceb6c9896a402033d
[BUGFIX] HMENU rendering uses old tslib_ class names

The menu rendering in frontend still instantiates menu classes with
its old tslib_ prefixed names. This is unflexible and a potential
performance issue.

The patch introduces a simple factory instead with a mapping for
existing TypoScript menu types to the implementing classes.
The current variable $menuclasses is obsolete.
Additionally, the naming of three existing classes is adapted to
the correct class names to be in sync with the others.

A method in the factory to register additional menu types will
be added with a second patch.

Change-Id: I3d65258ffe4d30a918705b23349d3facb563c80e
Resolves: #46292
Releases: 6.1, 6.0
Reviewed-on: https://review.typo3.org/18973
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
17 files changed:
typo3/sysext/core/Classes/TypoScript/TemplateService.php
typo3/sysext/core/Migrations/Code/LegacyClassesForIde.php
typo3/sysext/frontend/Classes/ContentObject/HierarchicalMenuContentObject.php
typo3/sysext/frontend/Classes/ContentObject/Menu/AbstractMenuContentObject.php
typo3/sysext/frontend/Classes/ContentObject/Menu/Exception/NoSuchMenuTypeException.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/ContentObject/Menu/GraphicalMenuFoldout.php [deleted file]
typo3/sysext/frontend/Classes/ContentObject/Menu/GraphicalMenuFoldoutContentObject.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/ContentObject/Menu/GraphicalMenuLayers.php [deleted file]
typo3/sysext/frontend/Classes/ContentObject/Menu/GraphicalMenuLayersContentObject.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/ContentObject/Menu/MenuContentObjectFactory.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/ContentObject/Menu/TextMenuLayers.php [deleted file]
typo3/sysext/frontend/Classes/ContentObject/Menu/TextMenuLayersContentObject.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/Exception.php [new file with mode: 0644]
typo3/sysext/frontend/Migrations/Code/ClassAliasMap.php
typo3/sysext/statictemplates/media/scripts/gmenu_foldout.php
typo3/sysext/statictemplates/media/scripts/gmenu_layers.php
typo3/sysext/statictemplates/media/scripts/tmenu_layers.php