Jacky
I'm new here

#global.gca mit Variable

Jump to solution

Hallo zusammen,

den Wert einer Eingabekomponente innerhalb einer globalen Seite lese ich wie folgt aus:

$CMS_VALUE(#global.gca("prbestellung").getData().get("gc_recipientHHG").getEditor().get(#global.language))$

Den Namen der Eingabekomponente möchte ich nun als Variable übergeben, die ich aus einem String und einer JSP-Variablen zusammenbaue:

//Variable zusammenbauen

$CMS_SET(recipient)$

gc_recipient<%=plant%>

$CMS_END_SET$

//Ausgabe

$CMS_VALUE(#global.gca("prbestellung").getData().get(recipient).getEditor().get(#global.language))$

oder

//Variable zusammenbauen

$CMS_SET(recipient)$

#global.gca("prbestellung").getData().get("gc_recipient<%=plant%>").getEditor().get(#global.language)

$CMS_END_SET$

//Ausgabe

$CMS_VALUE(#global.getContext().getVariableValue(recipient.toString()))$

Wie muss ich das formulieren, damit es funktioniert?

Vielen Dank und viele Grüße,

Jacky

0 Kudos
1 Solution

Accepted Solutions
rrichter
Occasional Collector

Hallo Jacky,

genau, aber vielleicht ist es das, was du in der JSP bewirken willst? (ein bischen mehr Code, aber sollte das Gewünschte tun, wenn ich deinen Ansatz richtig verstanden habe):

$CMS_FOR(x,["string1","string2","string3"])$

     <% if(plant != null && plant.equals("$CMS_VALUE(x)$")) { %>

     #global.gca("prbestellung").getData().get("gc_recipient"+x).getEditor().get(#global.language)

     <% } %>

$CMS_END_FOR$

Viele Grüße,

Raphael.

1+1=3 for large values of 1.

View solution in original post

0 Kudos
4 Replies
stephan
I'm new here

Hallo Jacky,

die von dir gewünschte Lösung kann technisch leider nicht funktionieren, da die JSPs vom Applicationserver ausgewertet werden, der eigentlich nichts mit dem FS-Server zu tun hat der die JSP-Seiten generiert. Der FS-Server hat also zur Generierungszeit der Seite keinen Zugriff auf die ausgewertete JSP-Seite und die dort erzeugten Variablen.

Viele Grüße

Jörg

rrichter
Occasional Collector

Hallo Jacky,

genau, aber vielleicht ist es das, was du in der JSP bewirken willst? (ein bischen mehr Code, aber sollte das Gewünschte tun, wenn ich deinen Ansatz richtig verstanden habe):

$CMS_FOR(x,["string1","string2","string3"])$

     <% if(plant != null && plant.equals("$CMS_VALUE(x)$")) { %>

     #global.gca("prbestellung").getData().get("gc_recipient"+x).getEditor().get(#global.language)

     <% } %>

$CMS_END_FOR$

Viele Grüße,

Raphael.

1+1=3 for large values of 1.
0 Kudos

Hallo Raphael,

das ist genau das wonach ich gesucht habe.

Vielen Dank Smiley Happy und viele Grüße,

Jacky

0 Kudos
rrichter
Occasional Collector

Hallo,

falls das nicht funktioniert, würde ich sicherheits- und der Übersicht halber den gca-Aufruf in zwei Zeilen aufsplitten:

$CMS_SET(component,"gc_recipient"+x)$

#global.gca("prbestellung").getData().get(component).getEditor().get(#global.language)

Grüße,

Raphael.

1+1=3 for large values of 1.
0 Kudos