Search the FirstSpirit Knowledge Base
Hallo Community,
ich möchte eine Liste aller referenzierten Medien ausgeben, allerdings nicht wie in einem an anderer Stelle geposteten Script aus der Medienverwaltung heraus, sondern auf einem Strukturknoten.
Kann da jemand helfen?
LG Arnold
Nachtrag: Die Ausgabe möchte ich über ein Absatztemplate vornehmen
Nachricht geändert durch Arnold Scheuch
Hallo Herr Scheuch,
mittels
$CMS_SET(mediaStoreRoot, #global.userService.getStore(class("de.espirit.firstspirit.access.store.Store$Type").MEDIASTORE,true))$
können Sie sich den MediaStoreRoot holen, mit diesem können Sie dann sicher weiterarbeiten, sich die Kindliste aller Medien geben und dann über diese iterieren und prüfen ob es incomingReferences gibt.
Viele Grüße
Johannes Perlet
Hallo,
vielen Dank für die Antwort. Ich denke aber, das trifft nicht ganz meinen Anwendungsfall.
Kurze Beschreibung dazu: Wir verwenden FS als Content-Provider für verschiedene Apps, die in einem einzigen Projekt abgebildet sind.
Jeweils 1 Strukturknoten unter dem Root repräsentiert eine App. Nun möchte ich ausgehend vom jeweiligen Strukturknoten alle darunter referenzierten Medien in eine Medienliste ausgeben.
Weitere Vorschläge ? 😉
LG Arnold
Hallo Arnold,
d.h. für jede Seitenreferenz in einer App müssten man die Inhaltsseite holen und von da aus die outgoingReferences rekursiv durchgegangen werden, bis man bei einem Medium landet.
Beispiele:
Seitenreferenz->Inhaltsseite->Medium
Seitenreferenz->Inhaltsseite->Datensatz->Datensatz->Medium
Spezialfall:
Seitenreferenz<-Inhaltsseite mit Absatz->Medium
Wie man sieht können die Abhängigkeiten beliebig tief sein und auch Kreise enthalten, man braucht dann vermutlich auch Abbruchkriterien dafür.
Eine weiterer Ansatz ist evtl. DeploymentUtil.getGeneratedFiles(context), vorausgesetzt ihr veröffentlicht die Apps schon einzeln und die Medien liegen nach der Generierung jetzt schon vor.
Eine komfortablere Lösung fällt mir momentan nicht ein.
VG
Johannes
ALTERNATIV 2 , falls Alternativ 1 zu umfangreich und zu viele Informationen liefert
Diese 2. Alternative ist die einfachste variante
Vielen Dank erst mal, ich denke, damit komme ich weiter.
Melde mich wieder.
LG Arnold
Hallo,
ein paar Hinweise:
Viele Grüße
Michael