Magnolia CMS Content App多值和复合字段错误

问题描述 投票:0回答:1

当在内容应用程序数据中使用多值和复合字段未正确存储在JCR中时,我面临着一个奇怪的问题,当使用了转换器类时,不会出现错误,但不会保存任何数据。

以下是我的照明模块编辑器部分

editor:
    class: info.magnolia.editor.app.ContentEditorSubAppDescriptor
    actions:
      close:
        class: info.magnolia.editor.action.CloseContentEditorActionDefinition
      save:
        class: info.magnolia.editor.action.SaveContentActionDefinition
      saveAndPublish:
        class: info.magnolia.editor.action.SaveContentActionDefinition
        onSuccessAction:
          class: info.magnolia.ui.framework.action.ActivationActionDefinition
          command: activate
    contentConnector:
      workspace: rules
      $type: jcrDatasource
      nodeTypes:
        - icon: icon-node-content
          name: mgnl:content
          strict: false
        - icon: icon-folder-l
          name: mgnl:folder
          strict: false
    contentDefinition:
      outlineFields:      
        jcrName:
          class: info.magnolia.ui.form.field.definition.TextFieldDefinition
          required: true
          styleName: title

        range:
          class: info.magnolia.editor.app.field.CollapsibleCompositeFieldDefinition
          collapsed: true          
          fields:
            - name: rangeList
              fieldType: multiValue              
              transformerClass: info.magnolia.ui.form.field.transformer.multi.DelegatingMultiValueFieldTransformer
              label: Range1
              field:
                name: rangeComponent
                fieldType: composite
                transformerClass: info.magnolia.ui.form.field.transformer.composite.DelegatingCompositeFieldTransformer
                fields:
                  - name: title
                    fieldType: text
                    label: Title1
                  - name: title2
                    fieldType: text
                    label: Title2

        equals:
          class: info.magnolia.editor.app.field.CollapsibleCompositeFieldDefinition
          name: equalList
          collapsed: true
          fields:
            equals:
              name: equalComponent
              fieldType: multiValue          
              class: info.magnolia.ui.form.field.definition.MultiValueFieldDefinition
              buttonSelectAddLabel: field.link.select.add
              field:
                name: equalElement
                class: info.magnolia.ui.form.field.definition.TextFieldDefinition
                fieldType: text
      blocks:
        - text
      initialBlock: text
      linkableApps:
        - pages
        - assets

相等部分正在按预期工作,但是带有复合零件的范围部分未存储数据。

magnolia
1个回答
0
投票

也许问题是您在multiValue字段中使用的TransformerClass。尝试使用DelegatingMultiValueSubnodeTransformer

- name: rangeList
  fieldType: multiValue              
  transformerClass: info.magnolia.ui.form.field.transformer.multi.DelegatingMultiValueSubnodeTransformer
  label: Range1
  field:
    name: rangeComponent
    fieldType: composite
    transformerClass: info.magnolia.ui.form.field.transformer.composite.DelegatingCompositeFieldTransformer
    fields:
      - name: title
        fieldType: text
        label: Title1
      - name: title2
        fieldType: text
        label: Title2

希望有帮助;)

© www.soinside.com 2019 - 2024. All rights reserved.