ana_oleski
Returning Observer

Metadatan in Skript auslesen

Jump to solution

Hallo,

wie kann ich die Metadaten eines Knotens  in einem Script auslesen

0 Kudos
1 Solution

Accepted Solutions

Hallo Ana,

du hast schon den richtigen Einstieg gefunden.

IDProvider#getMetaFormData() -> das komplette FormData der Metadaten für dieses Element.

Ich gehe mal davon aus, dass es sich bei der Komponente "meta_permission_groups" um eine CMS_INPUT_PERMISSION handelt.

Dann liefert dein Aufruf ein FormField mit Wert Permissions.

FormField<Permissions> permField = metaFormData.get(null, "meta_permission_groups" ));

Um das "inherit" abzubilden, muss du prüfen, ob in dem FormField ein Wert gesetzt ist (#isSet()) und dann die Parent-Kette des Elementes hochlaufen, bis du einen FormField gefunden hast, bei dem #isSet true liefert.

Gruß

View solution in original post

0 Kudos
2 Replies
ana_oleski
Returning Observer

Sorry, Enter aus versehen gedrückt.

Also ich möchte in einem Script dasselbe erreichen, was

nav.ref.meta("meta_permission_groups","inherit")

innerhalb der Navigation tut

Die einzige Methode, die ich gefunden habe ist getMetaFormData in IdProvider. Aber ich

getMetaFormData().get(null, "meta_permission_groups" )) aufrufe, kriege ich

DataWrappingFormData$EditorValueWrappingFormField

zurück. Ich könnte mich da weiter per Reflection durcharbeiten, aber ich will nicht was im Editor steht. ich will inherited.

Wie geht das denn?

Gruß

Ana

0 Kudos

Hallo Ana,

du hast schon den richtigen Einstieg gefunden.

IDProvider#getMetaFormData() -> das komplette FormData der Metadaten für dieses Element.

Ich gehe mal davon aus, dass es sich bei der Komponente "meta_permission_groups" um eine CMS_INPUT_PERMISSION handelt.

Dann liefert dein Aufruf ein FormField mit Wert Permissions.

FormField<Permissions> permField = metaFormData.get(null, "meta_permission_groups" ));

Um das "inherit" abzubilden, muss du prüfen, ob in dem FormField ein Wert gesetzt ist (#isSet()) und dann die Parent-Kette des Elementes hochlaufen, bis du einen FormField gefunden hast, bei dem #isSet true liefert.

Gruß

0 Kudos