[BUGFIX] ClassAliasMap, Tx_ VH namespace and closing tag throws Exception 14/25814/9
authorClaus Due <claus@namelesscoder.net>
Sat, 30 Nov 2013 21:16:32 +0000 (22:16 +0100)
committerHelmut Hummel <helmut.hummel@typo3.org>
Wed, 4 Dec 2013 18:54:27 +0000 (19:54 +0100)
commit0bbcf35878185a7c02fa3e1a21d05d138f12dc63
treebe6f693ab91560646e2f31f9216f3305eecf1075
parente832e80e1bb004da40b7a79aad18644107483076
[BUGFIX] ClassAliasMap, Tx_ VH namespace and closing tag throws Exception

When using aliased ViewHelper class names and old Tx_ namespace in
template and ViewHelper uses closing tag (not self-closing) an
error is thrown, saying closing tag ViewHelper is not the same
as openening tag ViewHelper (closing tag uses old class name,
opening tag uses new). To solve, TemplateParser now checks if
resolved ViewHelper class names are aliases of other classes and
if so, uses the real class name instead of the alias.

Steps to reproduce error:

* template namespace: {namespace myext=Tx_Myext_ViewHelpers}
* template code: <myext:vh>test</myext:vh>
* namespaced VH class: \Myext\ViewHelpers\VhViewHelper
* ClassAliasMap: Tx_Myext_ViewHelpers_VhViewHelper ->
  \Mext\ViewHelpers\VhViewHelper
* framework: render template using any View

Error 1224485398 "closing tag does not match opening tag" thrown.

Steps taken to fix error:

* run constructed class name through alias resolve method.

Fixes: #54115
Releases: 6.2, 6.1, 6.0
Change-Id: I070b6199095ec84c7213cfc0c3775f5f08340840
Reviewed-on: https://review.typo3.org/25814
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
typo3/sysext/fluid/Classes/Core/Parser/TemplateParser.php