joschka
I'm new here

Referenzierung eines Mediums innerhalb CMS_INPUT_CONTENTAREALIST

Jump to solution

Hallo zusammen,

folgendes Problem:

Ich muss zu einem Medium (Objekttyp Media) die Referenzierungen ausfindig machen. Innerhalb der referenzierten Absätze gibt es ein zusätzliches Textfeld, welches ich auslesen muss.

Die Referenzierung ist hierbei folgendermaßen aufgebaut:

  • Absatz "downloadlist" mit CMS_INPUT_CONTENTAREALIST ->
  • innerhalb CMS_INPUT_CONTENTAREALIST ist Template "download" erlaubt ->
  • innerhalb "download" gibt es die Eingabekomponente CMS_INPUT_FILE ("st_file"), in der das Medium referenziert ist. Innerhalb des Templates "download" gibt es nun ein CMS_INPUT_TEXT mit notwendigen Informationen.

Problem:

Wenn ich die Referenzierung für das Medium über getIncomingReferences() ermittle, wird mir die "downloadlist" als Element zurückgegeben, in der mehrere "download" Elemente vorkommen können.

Ich kann aktuell deshalb nicht sagen, ob bei einer Iteration über die "downloadlist" der "download" Absatz mit dem richtigen Medium vorliegt.

Über download.getFormData().get(#global.language, "st_file") bekomme ich ein "DataWrappingFormData$EditorValueWrappingFormField". Wie komme ich denn zu irgendeinem Wert, den ich mit meinem ausgehenden Dokument vom Typ Media vergleichen kann?

Ich hoffe ich konnte mein Problem halbwegs verständlich erläutern.

Schon mal vielen Dank für mögliche Hilfen.

VG

Joachim

0 Kudos
1 Solution

Accepted Solutions
marza
I'm new here

Hallo Joachim,

ein Blick in die Api-Doc verrät Dir (die findet Du auch im ODFs Deines FirstSpirit-Servers, such dort einfach "api"), dass Du auf dem FormField per nochmaligen get() den Wert bekommst. Im FormField gibt es auch eine Methode getType(), welche Dir die Class<?> dieses Wertes liefert.

Beispiel (Ausschitt):

Wert -> formData.get(#global.language, "st_meinfeld").get()

Typ -> formData.get(#global.language, "st_meinfeld").getType()

Konnte ich Dir damit weiterhelfen?

Grüße Marian

P.S. Tipp: Da das immer Java-Objekte sind, kann man mit formData.get(#global.language, "st_meinfeld").class.name schnell sich den Namen der Klasse an dieser Stelle im Template ausgeben lassen. Wenn der Name am Ende ein "Impl" hat, lässt man das weg und findet mit dem Rest in der AP eine Beschreibung.

View solution in original post

0 Kudos
2 Replies
marza
I'm new here

Hallo Joachim,

ein Blick in die Api-Doc verrät Dir (die findet Du auch im ODFs Deines FirstSpirit-Servers, such dort einfach "api"), dass Du auf dem FormField per nochmaligen get() den Wert bekommst. Im FormField gibt es auch eine Methode getType(), welche Dir die Class<?> dieses Wertes liefert.

Beispiel (Ausschitt):

Wert -> formData.get(#global.language, "st_meinfeld").get()

Typ -> formData.get(#global.language, "st_meinfeld").getType()

Konnte ich Dir damit weiterhelfen?

Grüße Marian

P.S. Tipp: Da das immer Java-Objekte sind, kann man mit formData.get(#global.language, "st_meinfeld").class.name schnell sich den Namen der Klasse an dieser Stelle im Template ausgeben lassen. Wenn der Name am Ende ein "Impl" hat, lässt man das weg und findet mit dem Rest in der AP eine Beschreibung.

0 Kudos
MichaelaReydt
Community Manager

Hallo Joachim,

benötigst du noch weitere Hilfe oder konnte Marian dir bereits weiterhelfen? In diesem Fall wäre es super, wenn du seine "richtige Antwort" entsprechend markierst.

Solltest du zwischenzeitlich eine eigene Lösung gefunden haben, wäre es toll, wenn du sie hier bereitstellst.

Viele Grüße

Michaela

0 Kudos