具有多值的 Magnolia 可折叠复合字段允许我保存但在编辑时无法重新打开
Magnolia Collapsible composite field with multivalue allows me to save but cannot reopen when editing
我有一个不太复杂的表单,它是一个 复合字段 的 多值 ,在该复合字段中有一个标题和然后是一个 可折叠复合 字段,下面有几个字段。
树看起来像这样:
- 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
非常感谢任何帮助。
好吧,这很令人沮丧,但我的复合字段都有相同的名称...因此出现错误。
我有一个不太复杂的表单,它是一个 复合字段 的 多值 ,在该复合字段中有一个标题和然后是一个 可折叠复合 字段,下面有几个字段。
树看起来像这样:
- 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
非常感谢任何帮助。
好吧,这很令人沮丧,但我的复合字段都有相同的名称...因此出现错误。