在Magnolia中使用MultiValueSubChildrenNodePropertiesTransformer和CompositeFieldBuilder

时间:2016-09-02 15:44:35

标签: magnolia

在Magnolia,我正在建立一个多领域:

cfg.fields.multi("redirects").label("Redirects").field(
    new CompositeFieldBuilder("redirects").fields(
        cfg.fields.text("source").label("Source"),
        cfg.fields.pageLink("destination").label("Destination")
    )
    .transformerClass(
        MultiValueSubChildrenNodePropertiesTransformer.class
    )
)

但问题是每当我尝试通过Edit Page Properties链接添加内容时,我都会遇到以下异常:

找不到合适的构造函数[class info.magnolia.ui.form.field.transformer.multi.MultiValueSubChildrenNodePropertiesTransformer]

我是否遗漏了应该如何构建的内容?

1 个答案:

答案 0 :(得分:2)

错误是由于transformerClass而不是主链中调用CompositeFieldBuilder造成的

cfg.fields.multi("redirects").label("Redirects").field(
    new CompositeFieldBuilder("redirects").fields(
        cfg.fields.text("source").label("Source"),
        cfg.fields.pageLink("destination").label("Destination")
    )
)
.transformerClass(
    MultiValueSubChildrenNodePropertiesTransformer.class
)