我正在将一个项目更新到 TYPO3 8LTS,并且我正在使用最新版本的通量和流体内容。它大部分时间都有效。但是,如果不深入研究通量和核心,我将无法解决一个问题。所以也许这里的某人可以发现我的问题并为我节省一些调试。
我有一个带有可扩展对象的流体内容元素。这是一个手风琴,编辑器可以根据需要添加任意数量的面板。配置如下所示:
<f:section name="Configuration">
<flux:form id="accordion">
<flux:form.option name="group" value="Container" />
<flux:form.option name="icon" value="EXT:my_ext/Resources/Public/Images/ContentIcons/Accordion.jpg" />
<flux:form.section name="panels">
<flux:form.object name="panel">
<flux:field.input name="title" />
<flux:field.checkbox name="active" />
</flux:form.object>
</flux:form.section>
</flux:form>
<flux:grid>
<f:for each="{panels}" as="panel" iteration="iteration">
<flux:grid.row>
<flux:grid.column name="column.{iteration.index}"
label="{f:if(condition: panel.panel.title, then: panel.panel.title, else: 'Panel {iteration.cycle}')}" />
</flux:grid.row>
</f:for>
</flux:grid>
</f:section>
这按预期工作。可以添加和删除面板。但是,如果我创建一个新的内容元素并添加一些面板,然后第一次保存并关闭内容元素,我会收到一条核心错误消息,告诉我
“_1:尝试在页面 '[root-level]' (0) 上插入记录,其中不允许此表 tt_content_”。
创建的内容元素已正确存储在数据库中,除了存储面板配置的 pi_flexform 字段之外的所有字段。该字段为空。我现在可以编辑元素并创建面板,并且配置已成功保存。
该错误仅在第一次保存新内容元素时发生。