plamka
I'm new here

Medieninhalte auslesen und sortieren

Hallo,

ich habe eine Frage zu der Darstellung von Pdf-Dokumenten aus dem Medienverzeichnis z.B. in einer
Absatzvorlage. Momentan kann ich die Pdf's eines definierten PDF-Folders
nur in der Reihenfolge ihrer ID's auslesen. Es ist sicherlich möglich,
die Sortierung der Ausgabe dieser Pdf's zu beeinflussen. Z. B. nach
Erstellungsdatum oder alphabetisch ?

z.B.

   $CMS_FOR(download, st_downloadFolder.get().children.toList)$
     $CMS_IF("de.espirit.firstspirit.store.access.mediastore.MediaImpl".equals(download.class.toString))$
...

Jetzt müsste es doch möglich sein die Liste sortiert auszulesen? Wie würde man das machen?
Ideal wäre natürlich auch wenn man für ein Medienobjekt noch ein weiteres Feld "Sortierposition"
aufnimmt und dann nach diesem sortiert. Ist sowas möglich und wenn ja wie?

Danke im Vorraus
David Smiley Happy

7 Replies
mhenke
I'm new here

Dieser Schnippsel sortiert nach dem letzten Änderungsdatum:

$CMS_SET(downloads, st_downloadFolder.get().getChildren(class("de.espirit.firstspirit.store.access.mediastore.MediaImpl")).toList())$
$CMS_FOR(download, downloads.sort(x -> x.getLastChanged()))$
    <p>$CMS_VALUE(download.getDisplayName())$</p>
$CMS_END_FOR$

Und dieser alphabetisch:

$CMS_SET(downloads, st_downloadFolder.get().getChildren(class("de.espirit.firstspirit.store.access.mediastore.MediaImpl")).toList())$
$CMS_FOR(download, downloads.sort(x -> x.getDisplayName()))$
    <p>$CMS_VALUE(download.getDisplayName())$</p>
$CMS_END_FOR$

0 Kudos

Korrekt, nur bitte die Api-Klassen nutzen - also "de.espirit.firstspirit.store.access.mediastore.Media" (ohne das "Impl").

Peter
0 Kudos
plamka
I'm new here

Super. Vielen Dank :).  Gibt es auch eine Möglichkeit ein eigenes Feld aufzunehmen z.B. "Sortierposition" und nach diesem zu sortieren?


0 Kudos

Nachtrag: Standardmäßig gibt es ja nur die Möglichkeit einen Dateinamen und eine Beschreibung für eine Medienobjekt zu hinterlegen. Wo können denn weitere Felder aufgenommen werden? Das Medienobjekt nutzt ja keine typische Absatzvorlage.

0 Kudos
gockel
Crownpeak employee

Dies wäre dann ein klassischer Fall für Metadaten.

0 Kudos

Wie lassen sich diese Metadaten auslesen?

Wir haben den Fall, dass zu Verzeichnissen bzw. Dateien aus dem MediaStore ein Bild über CMS_INPUT_PICTURE in den Metadaten gepflegt werden soll. Dieses soll dann bei der auf der generierten Seite angezeigt werden.

Über 'f.getMetaXml.get("meta_mediaPicture")'  erhalte ich nur de.espirit.firstspirit.store.access.DataValueImpl, aber nicht die Referenz auf das Objekt.

Danke und Gruß,

Fernando Morales

0 Kudos
feddersen
Community Manager

In der Vorlage über CMS_VALUE, siehe Dokumentation. Per API auf DataValue getEditor() aufrufen.

Nachricht geändert durch Christoph Feddersen