FabsH
I'm new here

Metadaten eines mediafolder auslesen

Jump to solution

Hallo zusammen,

ich würde gerne die Metadaten eines Ordners in der gelben Struktur auslesen. Die Metadaten-Vorlage habe ich soweit angepasst, dass der Redakteur hier einen Titel angeben kann (meta_gallery_name).

In meiner Absatzvorlage kann der Redakteur einen Ordner über FS_REFERENCE auswählen:

      <FS_REFERENCE name="st_folder" allowEmpty="no" hFill="yes" useLanguages="no">

        <FILTER>

          <ALLOW type="mediafolder"/>

        </FILTER>

        <LANGINFOS>

          <LANGINFO lang="*" label="Ordner mit Bildern"/>

        </LANGINFOS>

        <PROJECTS>

          <LOCAL name=".">

            <SOURCES>

              <FOLDER name="neue_galerie" store="mediastore"/>

            </SOURCES>

          </LOCAL>

        </PROJECTS>

      </FS_REFERENCE>

Im HTML-Bereich wird anhand der Ordners eine Liste mit im Ordner enthaltenen Bildern generiert, welche dann mittels for-Schleife ausgeben werden. Der Zugriff auf die Metadaten eines Bildes klappt hervorragend mit:

$CMS_FOR(x, media_list)$

    ...

    Variante 1

    $CMS_VALUE(ref(x).meta("meta_image_title"))$

    // Variante 2

    $CMS_VALUE(x.media.meta("meta_image_title"))$

    ...

$CMS_END_FOR$

Versuche ich dasselbe mit der Referenz auf den Ordner (st_folder), funktioniert das nicht. Weder $CMS_VALUE(st_folder.media.met("meta_gallery_name"))$ noch $CMS_VALUE(ref(st_folder).meta("meta_gallery_name"))$ funktioniert.

Kann mir jemand sagen, wie ich auf die Metadaten des Ordners zugreifen kann?

Danke!

0 Kudos
1 Solution

Accepted Solutions
mbergmann
Crownpeak employee

Hallo Fabian,

hier hilft letztlich ein Blick in die Doku der Eingabekomponente "FS_REFERENCE": Oben rechts im grauen Kasten findest Du bei "Zu den Methoden" den Datentyp der FS_REFERENCE: TargetReference. Das .meta kann man nur auf einem Store-Objekt direkt aufrufen. Also musst Du erstmal an den MediaFolder kommen. Das geht ganz einfach mit .get()

$CMS_VALUE(st_folder.get().meta("meta_gallery_name"))$

Allgemeiner Hinweis zu Deinem Ansatz (nur Angabe eines Ordners): Das kann man theoretisch so machen, hat aber einen Nachteil: Die einzelnen Bilder werden hier nirgendwo direkt referenziert sondern durch reine Template-Logik ausgegeben. Dadurch sind sie nicht im Referenzgraph enthalten. Das muss nicht unbedingt schlecht sein (je nach Anwendungsfall), muss aber ggf. auch beim Freigabeworkflow berücksichtigt werden.

Viele Grüße

Michael

View solution in original post

0 Kudos
2 Replies
mbergmann
Crownpeak employee

Hallo Fabian,

hier hilft letztlich ein Blick in die Doku der Eingabekomponente "FS_REFERENCE": Oben rechts im grauen Kasten findest Du bei "Zu den Methoden" den Datentyp der FS_REFERENCE: TargetReference. Das .meta kann man nur auf einem Store-Objekt direkt aufrufen. Also musst Du erstmal an den MediaFolder kommen. Das geht ganz einfach mit .get()

$CMS_VALUE(st_folder.get().meta("meta_gallery_name"))$

Allgemeiner Hinweis zu Deinem Ansatz (nur Angabe eines Ordners): Das kann man theoretisch so machen, hat aber einen Nachteil: Die einzelnen Bilder werden hier nirgendwo direkt referenziert sondern durch reine Template-Logik ausgegeben. Dadurch sind sie nicht im Referenzgraph enthalten. Das muss nicht unbedingt schlecht sein (je nach Anwendungsfall), muss aber ggf. auch beim Freigabeworkflow berücksichtigt werden.

Viele Grüße

Michael

0 Kudos

Super, vielen Dank für deine Antwort mbergmann​!

Zum Referenzgraph: was bedeutet das? :smileyconfused: Welche Nachteile entstehen mir daraus?

Am Ende soll halt eine Bildergalerie stehen, bei der der Redakteur nicht erst händisch jedes einzelne Bild z.B. einem FS_CATALOG hinzufügen muss.

0 Kudos