aVogt
Returning Creator

CMS_SET (in Seitenvorlage definiert und dann in Absatzvorlage ändern)

Jump to solution

ich definiere in einer Seitenvorlage folgendes:

   

     $CMS_SET(AbsatzMerkzettel,false)$

in einer Absatzvorlage die per

     $CMS_VALUE(#global.page.body("center_content"))$

ausgegeben wird, wird die Variable geändert.

     $CMS_SET(AbsatzMerkzettel,true)$

In der Seitenvorlage hat die "AbsatzMerkzettel" immer noch den wert "false".

Kann ich in einer Absatz- oder Formatvorlage den Wert in einer Seitenvorlage definierten Variable ändern?

Wenn ja wie?

Danke schon mal.

1 Solution

Accepted Solutions

Mir gefällt folgender Syntax besser:

$CMS_SET(#global.pageContext["AbsatzMerkzettel"], true)$

Java-Style vs. FS-Style Smiley Wink

Peter

View solution in original post

6 Replies
feddersen
Community Manager

Im Absatz: $CMS_VALUE(#global.pageContext.setVariableValue("AbsatzMerkzettel", true))$

Perfekt. Vielen Dank für die schnelle Antwort.

0 Kudos

Mir gefällt folgender Syntax besser:

$CMS_SET(#global.pageContext["AbsatzMerkzettel"], true)$

Java-Style vs. FS-Style Smiley Wink

Peter

sieht besser aus!

0 Kudos
aVogt
Returning Creator

Hallo,

ich habe ein weiteres Problem.

Kann ich in einer Seite eine Variable definieren, die mir dann in gesamten Projekt zur Verfügung steht? Mit dem o.g. Weg funktioniert das bei mir nicht.

Ich habe eine etwas aufwendige Ermittlung von Daten, die ich in mehreren Seiten auswerten/verwenden muss. Die Ermittlung dieser Daten muss nur einmal durchgeführt werden. Nun sollte in der ersten Seite, die die Daten benötigt, die ermittlung durchgeführt werden und diese in einer projektweit gültigen Variablen gespeichert werden. In den anderen Seiten greife ich dann diese Variable ab und muss die Datebnicht mehr generieren lassen.

Ich hatte die generierung erst in den Projekteinstellungen vorgenommen aber das hatte siche sehr ungünstig auf die Vorschau ausgewirkt (Re: Vorschau aus JavaClient dauert ewig ).

Frage also: Wie kann ich eine Projektweit gültige Variable setzen?

Grüße

Andreas

0 Kudos
aVogt
Returning Creator

ich galub ich hab was gefunden

setzen:$CMS_VALUE(#global.project.setProperty("NAME",null))$

abfragen: $CMS_VALUE(#global.project.getProperty("NAME"))$

Ist das ein gangbarer Weg?

Weitere Frage:

Ich definiere in den Projekteinstellungen die Variable mit "null".

In einer Mehrfachseite wird auf die Variable zugegriffen. ich finde keine einzige Seite in der die Variable "null" ist. In der Seite frage ich die Variable ab, wenn diese "null" ist führe was aus und setze die Variable auf "not null". Vor der Prüfung lasse ich mir die variable ausgeben. Diese ist dann immer "not null".

Wenn ich im Generierungspfad das Ausgabeverzeichnis beobachte, wird als erstes eine Seite "name_ID" angelegt, die dann nicht mehr da ist. Ist dass eine "Initialisierungsseite"?

Kann ich den o.g. Weg benutzen, oder gibts was günstigeres?

Grüße

Andreas

0 Kudos