[BUGFIX] Fix recursive FLUIDTEMPLATE cObj's that use layoutRootPaths 16/54416/7
authorBenjamin Franzke <bfr@qbus.de>
Tue, 17 Oct 2017 14:53:28 +0000 (16:53 +0200)
committerSusanne Moog <susanne.moog@typo3.org>
Wed, 29 Nov 2017 17:13:10 +0000 (18:13 +0100)
commit5c048a4c8017e4d50ab5f2343970a0fd33e4aaed
tree82aadf30c7736fa38d64f034949ec188ef890b08
parentd7e1728e5b4c1b442e002169030fb3e4c07bab56
[BUGFIX] Fix recursive FLUIDTEMPLATE cObj's that use layoutRootPaths

FLUIDTEMPLATE variables may contain content elements (e.g. recursive
FLUIDTEMPLATE's) which may instantiate own TemplateViews
(e.g. StandaloneView).
A recursive StandaloneView will statically(!!) cache used TemplatesPaths
in \TYPO3Fluid\Fluid\View\Templates::resolvedFiles.

If StandaloneView is instantiated before, but the fluid layout path is
calculated after inner content objects are being rendering,
the altered statically cached `resolvedFiles` cache is used
and contains invalid layoutRootPaths.

Short term solution:
Defer the initialization of the StandaloneView (which flushes those
buggy caches) until all variables have been processed.

Change-Id: Idf053b3d0f0835a352790e0ed971344d67844bbc
Releases: master, 8.7
Resolves: #79760
Resolves: #82745
Reviewed-on: https://review.typo3.org/54416
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Sebastian Hofer <sebastian.hofer@marit.ag>
Tested-by: Sebastian Hofer <sebastian.hofer@marit.ag>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
typo3/sysext/frontend/Classes/ContentObject/FluidTemplateContentObject.php
typo3/sysext/frontend/Tests/Functional/ContentObject/FluidTemplateContentObjectTest.php