如何在 TYPO3 8LTS 中正确配置 fluidcontent 手风琴元素

How to correctly configure a fluidcontent accordion element in TYPO3 8LTS

我正在将一个项目更新到 TYPO3 8LTS,并且我正在使用最新版本的 flux 和 fluidcontent。它大部分时间都有效。但是,我有一个问题,如果不深入研究通量和核心,我将无法解决。所以也许这里的人可以发现我的问题并节省一些调试时间。

我有一个带有可扩展对象的 fluidcontent 元素。这是一个手风琴,编辑器可以根据需要添加任意数量的面板。配置如下所示:

<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: Attempt to insert record on page '[root-level]' (0) where this table, tt_content, is not allowed_".

创建的内容元素已正确存储在数据库中,除了存储面板配置的 pi_flexform 字段之外的所有字段。该字段是空的。我现在可以编辑元素并创建面板,并且配置已成功保存。

该错误仅在第一次保存新内容元素时发生。

同时,该问题被确定为核心回归。一个修复程序将(希望)包含在下一个 LTS 版本中。

https://forge.typo3.org/issues/80825