Bug #36820
closedFLUIDTEMPLATE - Serialization of 'Closure' is not allowed
100%
Description
A tricky one that was reported for the YAG extension as well.
What you need:
- FLUIDTEMPLATE
- COA_INT or USER_INT
Example:
page.20 = FLUIDTEMPLATE page.20 { file = fileadmin/fluid.html partialRootPath = fileadmin/Partials/ } page.30 = COA_INT page.30.10 = TEXT page.30.10.value = TEST
Contents of the Fluid Template file (fileadmin/fluid.html):
<f:render partial="Test" />
Contents of the Test partial (fileadmin/Partials/Test.html):
HELLO WORLD
Now, call the page (to have it cached) and then call another page that uses that cache - you should see a nice error/exception for handling the COA_INT.
Explanation:- The Partial handling in the RenderViewHelper will store a compiled version, using Closure in the cache
- Thus, the first call works, but the second one, using the cache will use the Closure
- The serialize($this->cObj) in COA_INT will stumble over the Closure deep down in cObj and fail
Closures have been introduced in Fluid with TYPO3 4.6.
Updated by Oliver Hader over 12 years ago
- Target version changed from 4.5.16 to 4.6.9
- TYPO3 Version changed from 4.5 to 4.6
Updated by Gerrit Code Review over 12 years ago
- Status changed from Accepted to Under Review
Patch set 1 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/10979
Updated by Gerrit Code Review over 12 years ago
Patch set 2 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/10979
Updated by Gerrit Code Review over 12 years ago
Patch set 3 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/10979
Updated by Oliver Hader over 12 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset 15d99ae60cfbde7f8411f1aa7a44ad85f79ed5ee.
Updated by Riccardo De Contardi about 7 years ago
- Status changed from Resolved to Closed