dmihajluk
I'm new here

$CMS_VALUE()$ in Executable nachbauen

Jump to solution

Hallo,

ich habe eine Frage und zwar, wie kann ich einer Executable die Funktion $CMS_VALUE()$ nachbauen?

Anwendungsfall:

ich möchte Eingabekomponenten wie z.B. CMS_INPUT_DOM oder CMS_INPUT_LINK innerhalb

einer Executable rendern.

Die FormFields bzw. die Objekt habe ich bereits in der Executable:

@Override

public Object execute(Map<String, Object> executionContext, Writer stdOut, Writer stdErr) throws ExecutionException {

    SiteProduction siteProduction = (SiteProduction) executionContext.get("context");

    Section<?> section = siteProduction.getSection();

    FormData formData = section.getFormData();

    Language language = siteProduction.getLanguage();

    FormField field = formData.get(lang, "link_field_name");

    Link link = (Link) field.get();

}

Wie bringe ich diese jetzt zum Rendern?

Vielen Dank im Voraus für die Tipps!

0 Kudos
1 Solution

Accepted Solutions
Peter_Jodeleit
Crownpeak employee

Sollte in etwa so funktionieren:

siteProduction.getContext().setVariableValue("x", <field>);
siteProduction.print(siteProduction.parse("$CMS_VALUE(x)$"));

Peter

View solution in original post

0 Kudos
3 Replies
Peter_Jodeleit
Crownpeak employee

Sollte in etwa so funktionieren:

siteProduction.getContext().setVariableValue("x", <field>);
siteProduction.print(siteProduction.parse("$CMS_VALUE(x)$"));

Peter
0 Kudos

Hallo Peter,

vielen Dank für dein Tipp. Es funktioniert! Genau das was ich gesucht habe!!

0 Kudos

Super, danke für die Rückmeldung.
Wofür du das genau brauchst frage ich jetzt mal lieber nicht Smiley Wink

Peter
0 Kudos