【问题标题】:Magnolia Collapsible composite field with multivalue allows me to save but cannot reopen when editing具有多值的 Magnolia 可折叠复合字段允许我保存但在编辑时无法重新打开
【发布时间】:2017-11-29 07:54:42
【问题描述】:

我有一个不太复杂的表单,它是 复合字段多值,在该复合字段内有一个标题,然后是一个可折叠复合 字段,下面有几个字段。

树看起来像这样:

- tab
  - composite
    - title
    - collapsible composite
      - field 1
      - field 2
      - ...

我这样做是因为字段太多,并且在所有字段都打开的情况下对它们进行排序可能会很痛苦,所以这个想法是有一个带有标题的复合字段和一个可折叠的复合字段所以我可以折叠所有字段但仍然显示标题

这很好用,我可以添加东西、重新排序、折叠并正确保存所有内容。

但是,保存后,当我尝试编辑组件时,出现以下错误

Caused by: java.lang.ClassCastException: info.magnolia.editor.app.field.CollapsibleCompositeFieldDefinition$$EnhancerByCGLIB$$ea3bb8e3 cannot be cast to info.magnolia.ui.form.field.definition.MultiValueFieldDefinition

这是我的代码(只有有趣的部分)。

- name: tabTiles
  label: Tiles
  fields:
    - name: tiles
      label: Tiles
      i18n: true
      class: info.magnolia.ui.form.field.definition.MultiValueFieldDefinition
      transformerClass: info.magnolia.ui.form.field.transformer.multi.MultiValueSubChildrenNodePropertiesTransformer
      field:
        name: linksCompositeField
        class: info.magnolia.ui.form.field.definition.CompositeFieldDefinition
        transformerClass: info.magnolia.ui.form.field.transformer.composite.NoOpCompositeTransformer
        label: Collapse
        layout: vertical
        fields:
          - name: title
            label: Tile title
            class: info.magnolia.ui.form.field.definition.TextFieldDefinition
          - name: linksCompositeField
            class: info.magnolia.editor.app.field.CollapsibleCompositeFieldDefinition
            transformerClass: info.magnolia.ui.form.field.transformer.composite.NoOpCompositeTransformer
            label: Collapse
            fields:
              - name: icon
                class: info.magnolia.ui.form.field.definition.LinkFieldDefinition
                targetWorkspace: dam
                appName: assets
                required: true
                label: Select image
                identifierToPathConverter:
                  class: info.magnolia.dam.app.assets.field.translator.AssetCompositeIdKeyTranslator
                contentPreviewDefinition:
                  contentPreviewClass: info.magnolia.dam.app.ui.field.DamFilePreviewComponent
              - name: text
                label: Tile text
                class: info.magnolia.ui.form.field.definition.RichTextFieldDefinition
              - name: information
                class: info.magnolia.ui.form.field.definition.StaticFieldDefinition
                label: Link
                value: ''
              - name: linkText
                label: Link text
                class: info.magnolia.ui.form.field.definition.TextFieldDefinition
              - name: link
                label: Link
                class: info.magnolia.ui.form.field.definition.LinkFieldDefinition
                targetWorkspace: website
                appName: pages
              - !include:/foundation-components/dialogs/include/linkTargetSelectField.yaml
              - name: linkTitle
                label: Link title
                class: info.magnolia.ui.form.field.definition.TextFieldDefinition

非常感谢任何帮助。

【问题讨论】:

    标签: content-management-system yaml magnolia


    【解决方案1】:

    好的,这很令人沮丧,但我的复合字段都具有相同的名称......因此出现错误。

    【讨论】:

    • 这很常见。您是否尝试在“问题”选项卡的“定义”应用程序中查看问题是否突出显示?它应该被突出显示。
    • 恐怕我没有,我认为它会给我一些通用错误,比如脉冲错误。下次我会检查的。
    • 我遇到了类似的问题,对我来说这与委派转换器有关
    猜你喜欢
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    • 2015-05-21
    • 2017-10-17
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多