[BUGFIX] Revert "[BUGFIX] Fix recursive FLUIDTEMPLATE cObj's that use layoutRootPaths" 45/56045/2
authorBenjamin Franzke <bfr@qbus.de>
Wed, 7 Mar 2018 12:06:28 +0000 (13:06 +0100)
committerChristian Kuhn <lolli@schwarzbu.ch>
Wed, 7 Mar 2018 22:45:59 +0000 (23:45 +0100)
This reverts commit 5c048a4c8017e4d50ab5f2343970a0fd33e4aaed
as introduced in https://review.typo3.org/54416

That workaround for a fluid bug had side effects when DataProviders
expected a ConfigurationManager instance to be available. That is
nothing officially supported but broke some (bad behaving) DataProviders.
As the fluid bug has been fixed in https://github.com/TYPO3/Fluid/pull/342
(contained in release 2.5.2) we can revert the workaround now.

The functional test that was introduced next to the bugfix is not reverted,
as do want to keep that obviously.

Resolves: #84071
Releases: master, 8.7
Change-Id: Ie6f5541f0f217fee7e85df954bb964a32fd27367
Reviewed-on: https://review.typo3.org/56045
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/frontend/Classes/ContentObject/FluidTemplateContentObject.php

index 92e7a19..862ac1a 100644 (file)
@@ -84,14 +84,12 @@ class FluidTemplateContentObject extends AbstractContentObject
      */
     public function render($conf = [])
     {
+        $parentView = $this->view;
+        $this->initializeStandaloneViewInstance();
+
         if (!is_array($conf)) {
             $conf = [];
         }
-        $variables = $this->getContentObjectVariables($conf);
-        $variables = $this->contentDataProcessor->process($this->cObj, $conf, $variables);
-
-        $parentView = $this->view;
-        $this->initializeStandaloneViewInstance();
 
         $this->setFormat($conf);
         $this->setTemplate($conf);
@@ -99,6 +97,8 @@ class FluidTemplateContentObject extends AbstractContentObject
         $this->setPartialRootPath($conf);
         $this->setExtbaseVariables($conf);
         $this->assignSettings($conf);
+        $variables = $this->getContentObjectVariables($conf);
+        $variables = $this->contentDataProcessor->process($this->cObj, $conf, $variables);
 
         $this->view->assignMultiple($variables);