Alle Resources einer Collection auslesen

Hallo,
im Media Bereich kann man ja Collections anlegen und dort Files hochladen.
Jetzt würde ich gerne einen NodeType erstellen, bei dem man im Backend eine dieser Collections auswählen kann und im Frontend dann alle Resources dieser Collection gerendert werden.
Das würde die Pflege von Bereichen der Website, wo nur Dokumente angezeigt werden sollen, stark vereinfachen. Anstatt dass man alle Files einzeln aussucht, gibt man nur die Collection an und schwups es funktioniert.

Ist dies möglich? Kann ich alle Resources einer speziellen Collection auslesen?
Hätte da jemand einen Hinweis für mich, wie das aussehen könnte?

Hallo Kathrin,

der von dir beschriebene Weg klingt für mich nach einer soliden Vorgehensweise.
Das ist tatsächlich auch gar nicht so kompliziert, wie es im ersten Moment klingen mag.

Daniel hat das ganze in seinem Gallerie-Package auch schon gemacht.
Dort erstellt er einfach eine DataSource mit allen AssetCollections: DL.Gallery/AssetCollectionDataSource.php at master · daniellienert/DL.Gallery · GitHub

Und macht diese dann im NodeType auswählbar: DL.Gallery/NodeTypes.Gallery.yaml at master · daniellienert/DL.Gallery · GitHub

Hab ich selbst so ähnlich auch schon mehrfach genutzt. Funktioniert super.
Nur für das laden der Medien musst du dir dann etwas überlegen. In dem Package wird soweit ich das gesehen habe mit einem Fluid-ViewHelper gearbeitet.
Denkbar wäre aber sicherlich auch ein eigener Eel-Helper, der dir dann die Assets zurück gibt. Daraus kannst du dann ja einfach die URLS generieren.

Ich hoffe das hilft dir ein wenig weiter. Melde dich gerne erneut bei Fragen.

Niklas

1 Like

Hallo Niklas,
das hat mir sehr geholfen:)
Das Auswählen der Collection und das Anzeigen der Files darin funktionieren^^
Nur eine Sache ist etwas merkwürdig: Wenn ich eine File Collection in dem Dropdown ausgewählt & gespeichert habe, zeigt das Feld wieder den Placeholder anstatt die ausgewählte Collection. Die Collection ist aber gespeichert, die Files werden angezeigt.
Muss ich da noch was extra einstellen?

Oder weiß vielleicht sonst jemand, warum der Dropdown wieder den Placeholder anstatt der gewählten Collection anzeigt wenn man speichert…?

Gibst du die Collection als Objekt oder anhand ihrer ID zurück?

Hi,
ich habe es wie in dem Link von Niklas per Identifier gemacht:
https://github.com/daniellienert/DL.Gallery/blob/master/Classes/DataSources/AssetCollectionDataSource.php

Was hast du für einen type bei deiner Property?

Der Type ist Neos\Media\Domain\Model\AssetCollection
Hatte auch schon versucht, es auf reference umzustellen, aber ohne Erfolg.