johni
I'm new here

Variabler Variablenname in Context

Jump to solution

Ich versuche im globalen Context (in den Projekteinstellungen) verschiedene Variablen zu setzen.

Der name der Variablen soll dynamisch zusammengesetzt werden:

$CMS_SET(#global.context("root")["generation_setting_" + myVar.key],myVar.value)$

Leider wird der gwewünschte name komplett als String interpretiert und der resultierende Name ist: "generation_setting_" + myVar.key

Wie kann ich das Problem lösen?

1 Solution

Accepted Solutions
hoebbel
Crownpeak employee

Hallo Herr Zinnau,

was ist denn myVar.key für ein Objekttyp? {Tipp: einfach mal mit $CMS_VALUE(myVar.key.class)$ ausgeben Smiley Wink }

ich habe es gerade mal mit einem sehr einfachen Beispiel in der aktuellen Version 4.2.461 getestet, da funktioniert es einwandfrei:

$CMS_FOR(col,[0..20])$

$CMS_SET(void,#global.getContext().setVariableValue("Varnumber" + col,col*col))$

$CMS_END_FOR$

$CMS_FOR(col,[0..20])$

$CMS_VALUE(#global.getContext().getVariableValue("Varnumber" + col))$<br>

$CMS_END_FOR$

Viele Grüsse aus Dortmund,

  Holger Höbbel

View solution in original post

4 Replies
feddersen
Community Manager

Variable variables sollte ihnen weiterhelfen.

hoebbel
Crownpeak employee

Hallo Herr Zinnau,

was ist denn myVar.key für ein Objekttyp? {Tipp: einfach mal mit $CMS_VALUE(myVar.key.class)$ ausgeben Smiley Wink }

ich habe es gerade mal mit einem sehr einfachen Beispiel in der aktuellen Version 4.2.461 getestet, da funktioniert es einwandfrei:

$CMS_FOR(col,[0..20])$

$CMS_SET(void,#global.getContext().setVariableValue("Varnumber" + col,col*col))$

$CMS_END_FOR$

$CMS_FOR(col,[0..20])$

$CMS_VALUE(#global.getContext().getVariableValue("Varnumber" + col))$<br>

$CMS_END_FOR$

Viele Grüsse aus Dortmund,

  Holger Höbbel

Hallo Herr Höbbel,

danke, setVariableValue war des Rätsels Lösung.

Grüße,

Johannes Zinnau

0 Kudos

$CMS_SET(#global.context["varnumber" + col], col*col)$ sollte es auch tun.

Peter
0 Kudos