【问题标题】:Serialization of 'Closure' is not allowed in FAL FileUpload using ext:form in TYPO3 10.4.0FAL FileUpload 中不允许使用 TYPO3 10.4.0 中的 ext:form 序列化“Closure”
【发布时间】:2020-08-06 18:12:57
【问题描述】:

我在干净的 TYPO3 10.4.0(Composer 模式)上使用 EXT:Form 中的 FAL FileUpload 字段时遇到 PHP 异常“不允许序列化 'Closure'”。

如果 FormState 数组包含 TYPO3\CMS\Extbase\Domain\Model\FileReference 的对象,则序列化在 /public/typo3/sysext/form/Classes/ViewHelpers/FormViewHelper.php 第 48 行中不起作用

serialize(object(TYPO3\CMS\Form\Domain\Runtime\FormState))

这是一个错误吗?

【问题讨论】:

  • 您的表单定义是否包含多个页面(“步骤”),例如摘要页?在这种情况下,我得到了同样的错误。
  • 是的,我在调用摘要页面时收到此错误。仅当提交 FAL Objected 时才会发生错误。
  • 我在 TYPO3 Bugtracker 上添加了一个问题:forge.typo3.org/issues/91196
  • 该问题已在 TYPO3 v10.4.5 中修复

标签: typo3


【解决方案1】:

上述行为是 TYPO3 版本 10.4.0 和 10.4.4 之间的错误 - 已在 TYPO3 版本 10.4.5 中通过以下提交解决和修复

[BUGFIX] Fix serialization of FileReference objects

FileReferences objects contain references to File
objects which itself contain service dependencies
(e.g. event dispatcher) which are not seralizable.

This leads to problems for instance when having
a multi-step form containing file uploads where
file reference objects are being serialized.

参考资料:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-11
    • 2020-08-06
    • 2014-11-28
    • 2020-04-06
    • 1970-01-01
    • 2016-05-24
    • 1970-01-01
    相关资源
    最近更新 更多