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:重命名通量字段并保留值?的主要内容,如果未能解决你的问题,请参考以下文章