Wo muss ich meine Datasource-Klasse einfügen

Hallo zusammen,

ich werde aus der Doku https://docs.neos.io/cms/manual/extending-neos-with-php-flow/custom-data-sources leider nicht zu 100% schlau.
Ich möchte in eine Blogseite im Backend ein Dropdown einfügen wo der CMS-User bei einem Blogpost einen Autor (=Node) auswählen kann.
Jetzt habe ich testweise aus dem Tutorial in der Doku die Dateien eingefügt bekomme aber immer Fehlermeldungen:
image
image

Ich verstehe nicht ganz wo genau ich die TestDataSource.php einfügen muss.

Danke für eure Hilfe!
Damian

Hallo Damian

Wenn du eine Node referenzieren möchtest, benötigst du keine dataSource. Eine dataSource wird dann benötigt, wenn du Nicht-Nodes referenzieren möchtest, z.B. Daten aus einer API.

Da du die Selektion mehrere Autor*innen ermöglichen möchtest, kannst du references als Typ nehmen.

authors:
  type: references
  ui:
    label: 'Author(s)'
    inspector:
      group: 'document'
      editorOptions:
        nodeTypes: ['My.Website:Author']

Die Doku findest du hier.

1 Like

Vielen Dank Lorenz!
Das macht es natürlich nochmal leichter :slight_smile:

Hi @damianthepichler,

Lorenz Antwort ist klar die elegantere, aber grundsätzlich sollten die Datasources schon funktionieren.
Hattest du denn in deiner composer.json die autoload Deklaration für deinen Classes Ordner?

Hallo Sebastian,

nein das habe ich nicht. Gibt es dazu irgendwo eine Anleitung?

Die composer Doku dazu ist hier zu finden https://getcomposer.org/doc/01-basic-usage.md#autoloading aber am besten schaust du einfach wie andere Packages das machen. Dir fehlt vermutlich nur der PSR-4 autoload Eintrag in der composer.json.
Der sorgt dafür, dass auch alle Klassen vom Framework gefunden werden können.

Genau das hat gefehlt. Danke dir!