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

Posted

技术标签:

【中文标题】TYPO3:重命名通量字段并保留值?【英文标题】:TYPO3: Rename flux fields and keep the values? 【发布时间】:2016-02-28 01:37:16 【问题描述】:

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

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

<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>

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

【问题讨论】:

【参考方案1】:

简短回答:

如果我现在将字段文本重命名为标题,所有之前输入的文本值都会丢失

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

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

【讨论】:

你是对的,仅仅重命名一个字段就按原样处理是有道理的。我在想也许有一些恢复值的可能性,也许是通过为字段分配唯一标识符或执行解析数据库并更新 flexform 的脚本。但显然没有(还)。谢谢!

以上是关于TYPO3:重命名通量字段并保留值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 中重命名方法并保留历史记录?

批量重命名文件并保留最后一个破折号

如何重命名故事板并保留来自其他故事板的链接

MongoDB update集合字段名修改 $rename

在 Windows 中使用索引保留批量重命名文件

如何使用 pymongo 在 mongodb 中重命名父字段名称和嵌套字段值?