【问题标题】:TYPO3: Rename flux fields and keep the values?TYPO3:重命名通量字段并保留值?
【发布时间】: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 的值?

【问题讨论】:

    标签: typo3 fluid flux


    【解决方案1】:

    简短回答:

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

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

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

    【讨论】:

    • 你是对的,仅仅重命名一个字段就按原样处理是有道理的。我在想也许有一些恢复值的可能性,也许是通过为字段分配唯一标识符或执行解析数据库并更新 flexform 的脚本。但显然没有(还)。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    • 2013-04-07
    • 2016-04-02
    • 2022-01-22
    • 2017-04-14
    • 2020-11-26
    • 2017-02-17
    相关资源
    最近更新 更多