Ich muss einen Dialog definieren, der aus mehreren Basisfeldern (Text) besteht, die in einem zusammenschaltbaren Feld verschachtelt sind, das selbst in einem mehrwertigen Feld verschachtelt ist .Welche TransformerClasses für komplexe Magnolia-Formulare verwenden
Allerdings kann ich nicht die richtige und funktionierende Kombination von TransformerClasses finden, die ich verwenden muss. Bei Verwendung der entsprechenden Klassen DelegatingXXTransformer
für das Feld multiValue und das zusammengesetzte Feld funktionierte es fast wie erwartet, aber diese delegierenden Transformatoren verbergen die erforderlichen Schaltflächen für die UI-Steuerung (Pfeil nach unten/oben) (siehe Bild). Aber ich brauche diese Kontrollen. Ich brauche die Informationen, die transformerClass für jedes Element verwenden soll, um die ui-Steuerelemente nicht zu verlieren, aber dennoch verschachtelte Felder mit einem höheren Level als zwei verarbeiten zu können. Wie auch immer, um das zu lösen?
relevant yaml-config:
form:
tabs:
- name: tabMain
fields:
- name: mainNav
class: info.magnolia.ui.form.field.definition.MultiValueFieldDefinition
transformerClass: info.magnolia.ui.form.field.transformer.multi.DelegatingMultiValueSubnodeTransformer
field:
name: composite
class: info.magnolia.ui.form.field.definition.CompositeFieldDefinition
transformerClass: info.magnolia.ui.form.field.transformer.composite.DelegatingCompositeFieldTransformer
layout: vertical
fields:
- !include /module-ui/dialogs/common/link.yaml
- !include /module-ui/common/link-title.yaml
- !include /module-ui/dialogs/common/link-target.yaml
actions: !include /module-ui/dialogs/actions/default.yaml
link.yaml:
name: link
class: info.magnolia.ui.form.field.definition.SwitchableFieldDefinition
transformerClass: info.magnolia.ui.form.field.transformer.composite.SwitchableTransformer
options:
- name: internal
value: internal
selected: true
- name: external
value: external
fields:
- name: internal
class: info.magnolia.ui.form.field.definition.LinkFieldDefinition
appName: pages
identifierToPathConverter:
class: info.magnolia.ui.form.field.converter.BaseIdentifierToPathConverter
- name: external
class: info.magnolia.ui.form.field.definition.TextFieldDefinition
defaultValue: "http://"
Danke für die Klärung :) – lunatikz