TYPO3:重命名通量字段并保留值?

TYPO3: Rename flux fields and keep the values?

通常在重命名通量字段时,旧值不会被转移,必须重新输入。有没有办法在重命名通量场后保留这些值?

让我们看一下这个简单的通量配置示例:

<f:section name="Configuration">
    <flux:form id="article" icon="{f:uri.resource(path: 'Icons/Content/Example.svg')}" options="{group: 'FCE'}">
        <flux:field.text name="text" rows="1"/>
    </flux:form>
</f:section>

如果我现在将字段 text 重命名为 title,那么之前为 text 输入的所有值都将丢失:

<f:section name="Configuration">
    <flux:form id="article" icon="{f:uri.resource(path: 'Icons/Content/Example.svg')}" options="{group: 'FCE'}">
        <flux:field.text name="title" rows="1"/>
    </flux:form>
</f:section>

是否有可能以某种方式让 flux 知道,字段 title 应该具有前一个字段 text 的值?

简答:

If I now rename the field text to title all previously entered values for text are lost

长答案:事实上,它们仍然存在于 FlexForm 的存储 XML 中,但名称是旧的。有两个原因:

  1. 这在技术上无法确定,该字段是 重命名。因为最终结果是相同的,因为字段被 删除 并且 新创建了
  2. 想象一种情况,您有两个页面模板,其中第一个包含名称字段 text,第二个 - title。您将第一个模板设置为页面模板并用一些东西填充text。然后您将模板更改为第二个模板 - 现在 title 应该包含以前填充的值吗?然后你切换回第一个模板 - text 是否应该被恢复(事实上它被恢复了,因为 Flux 没有删除它)?现在将它与模板的继承结合起来,看看会发生什么混乱。