[BUGFIX] Fix recursive FLUIDTEMPLATE cObj's that use layoutRootPaths 52/55252/3
authorBenjamin Franzke <bfr@qbus.de>
Tue, 17 Oct 2017 14:53:28 +0000 (16:53 +0200)
committerSusanne Moog <susanne.moog@typo3.org>
Wed, 3 Jan 2018 17:54:18 +0000 (18:54 +0100)
commitdbf5f643b5fe9574eb204708b9dc77b404a26f68
treee5bb5e996c33e49eeca10b50b751d1d0bd4ce903
parentcf1f82e341bb7e7c49137c3c42fb43789e6f345c
[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/55252
Tested-by: TYPO3com <no-reply@typo3.com>
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