Magnolia CMS Content App Многозначная и составная ошибка поля - PullRequest
0 голосов
/ 30 апреля 2020

Я сталкиваюсь со странной проблемой, когда использование многозначного значения и составного поля в контентном приложении данные не сохраняются в 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

Равная секция работает как положено, но секция диапазона с составной деталью не хранит данные.

1 Ответ

0 голосов
/ 07 мая 2020

Может быть, проблема в файле transformerClass, который вы используете в поле multiValue. Попробуйте с 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

Надеюсь, это поможет;)

...