Search the FirstSpirit Knowledge Base
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
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$
Korrekt, nur bitte die Api-Klassen nutzen - also "de.espirit.firstspirit.store.access.mediastore.Media"
(ohne das "Impl").
Super. Vielen Dank :). Gibt es auch eine Möglichkeit ein eigenes Feld aufzunehmen z.B. "Sortierposition" und nach diesem zu sortieren?
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.
Dies wäre dann ein klassischer Fall für Metadaten.
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
In der Vorlage über CMS_VALUE, siehe Dokumentation. Per API auf DataValue getEditor() aufrufen.
Nachricht geändert durch Christoph Feddersen