Search the FirstSpirit Knowledge Base
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
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.
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
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.
Hallo Raphael,
das ist genau das wonach ich gesucht habe.
Vielen Dank und viele Grüße,
Jacky
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.