2017-11-23 2 views
0

Ich erstelle einen benutzerdefinierten Dialog für eine Komponente, die ich zu einer Vorlage in Magnolia CMS hinzufüge.Einschränken der Anzahl der untergeordneten Objekte bei Verwendung von MultiValueFieldDefinition in Magnolia

Bis jetzt funktioniert das folgende yaml gut.

form: 
    tabs: 
    - name: tabMain 
     fields: 
     - !include:/n-components/dialogs/include/backgroundColorSelectField.yaml 
     - name: title 
      label: Title 
      class: info.magnolia.ui.form.field.definition.TextFieldDefinition 
      maxLength: 75 
      i18n: true 
     - name: tiles 
      label: Tiles 
      class: info.magnolia.ui.form.field.definition.MultiValueFieldDefinition 
      transformerClass: info.magnolia.ui.form.field.transformer.multi.MultiValueSubChildrenNodePropertiesTransformer 
      field: 
      name: compositeField 
      class: info.magnolia.editor.app.field.CollapsibleCompositeFieldDefinition 
      layout: vertival 
      label: Collapse 
      transformerClass: info.magnolia.ui.form.field.transformer.composite.DelegatingCompositeFieldTransformer 
      fields: 
       - name: tileTitle 
       label: Tile title 
       class: info.magnolia.ui.form.field.definition.TextFieldDefinition 
       - name: tileText 
       label: Tile text 
       class: info.magnolia.ui.form.field.definition.TextFieldDefinition 
       rows: 3 

Allerdings würde Ich mag MultiValueFieldDefinition maximal haben (und auch possibily ein Minimum?) Anzahl der erlaubten Kinder.

Ist das eine Option? Ich habe versucht MaxLength, aber es funktioniert nicht. Docs sprechen nicht über eine solche Eigenschaft, aber vielleicht hatte jemand ein ähnliches Problem.

Ich würde es vorziehen, jedes Java wenn möglich zu vermeiden.

Antwort

2

Ich glaube nicht, OOTB:

41 public class MultiValueFieldDefinition extends ConfiguredFieldDefinition { 
42 
43  private String buttonSelectAddLabel = "buttons.add"; 
44  private String buttonSelectRemoveLabel = "buttons.delete"; 
45  private ConfiguredFieldDefinition field; 
46 

Und ConfiguredFieldDefinition hat keine solche Membervariable entweder. Am Ende sind die Eigenschaften, die Sie verwenden können, weil einige Mitgliedsvariablen in den zugrunde liegenden Java-Klassen vorhanden sind.

Sie könnten diese Eigenschaften erweitern und diese Eigenschaften hinzufügen und stattdessen in Ihrem Projekt verwenden.

+0

Ich denke, ich wusste, danke, ich werde zu meinem Java-Entwickler berichten. – Flipke

Verwandte Themen