it-swarm.com.de

Wann wird Mapping oder Sequenz verwendet, um ein Array in einer Schemadatei zu definieren?

Ich muss ein Array in meiner Datei onlyone.settings.yml definieren, um diese Werte zu speichern:

onlyone_node_types:
  book: book
  test: test

In meiner onlyone.schema.yml-Datei habe ich Folgendes:

module.settings:
  type: config_object
  label: 'Only One settings'
  mapping:
    onlyone_node_types:
      type: sequence
      label: 'Configured content types to have Only One node'
      sequence:
        type: string
        label: 'Content type machine name'

Ich weiß jedoch nicht, ob ich in meinem Fall eine Sequenz oder einen Zuordnungstyp verwenden muss.

Ich habe auf der Seite Konfigurationsschema/Metadaten Folgendes gelesen:

Beachten Sie, dass Sie möglicherweise auch auf eine etwas andere Sequenzdefinition stoßen, bei der der Typ der Sequenzelemente als Liste mit nur einem Element definiert ist. Dieses Format ist veraltet und wird in Drupal 9:

Daher weiß ich nicht, ob ich in meinem Fall Mapping oder Sequenz verwenden muss, um mein Array zu definieren.

7

Eine Sequenz ist eine unbegrenzte Liste identisch strukturierter Elemente. Eine Zuordnung ist ein begrenzter Satz von Schlüsseln. Jeder Schlüssel hat möglicherweise eine andere Struktur.

Ihr Schlüssel hat Knotentypen, daher speichern Sie eine Liste von Knotentyp-IDs, dh eine Sequenz mit einer inneren Typzeichenfolge. Genau das, was du hast.

Wenn Sie eine Zuordnung verwenden würden, könnten Sie nur Buch speichern und testen, aber test kann eine Ganzzahl (oder Zuordnung oder Sequenz, ...) sein, während Buch eine Zeichenfolge ist.

Die Notiz hat nichts mit Sequenz vs. Mapping zu tun, sondern bezieht sich nur auf eine alte Art, den Typ in der Sequenz zu definieren, und sieht folgendermaßen aus:

onlyone_node_types:
  type: sequence
  label: 'Configured content types to have Only One node'
  sequence:
    -  type: string
       label: 'Content type machine name'

PS: Ich würde das in eine nummerierte Liste konvertieren, die dann wie folgt gespeichert wird:

onlyone_node_types:
  - book
  - test
10
Berdir