如何使复合字段和i18n启用MultiValueField正常工作?

时间:2016-04-29 07:57:52

标签: magnolia

有没有人试图在Magnolia中创建一个包含MultiValueField的表单,其中复合字段已启用i18n且工作正常?

目前,我在向英语添加项目然后切换到其他语言并再次添加项目时遇到一些奇怪的行为然后切换回英语,所有项目都已消失。在一个JIRA帖子中,它说它已经修复但我仍然遇到这个问题。还遇到了DelegatingMultiValueTransformer明显不支持的排序问题。

如果是这样,您能否告诉我您用于正常工作的配置?如果需要定制,你能给我一些如何做的想法吗?

非常感谢任何帮助。

顺便说一句,我现在正在使用最新版本5.4.6。

1 个答案:

答案 0 :(得分:0)

也许你不希望将来在一个请求中提出两个问题;)

Re语言问题:
你是否在子场上检查你是否已启用i18n,因为你正在使用deletage transformer?使用委托的AFAIK,您需要在层次结构中的所有字段上启用它们。

Re transformer&排序:
IMO唯一的出路就是编写自定义变压器。查看MultiValueTransformer的源代码,在检查子值时,代码中只有两个级别的代码,您需要更深入。 您还需要为您的值定义不同的结构存储,因为MultiValueTransformer使用的值不足以满足多个级别。
如果在json数组中存储所有值对你来说足够了,你可以扩展一个更专业的MultiValue*Transformer或者你尝试MultiValueJSONTransformer(你仍然需要扩展它并在重新填充值时重新填充到对话框中)打开对话框进行编辑)。

HTH,