Questions & Answers

Charlotte_Koeni
I'm new here

alle Sprachversionen ausgeben (projekteinstellungen)

Hallo zusammen,

eine Frage zu den Variablen einer Projekteinstellungseite.

Ich wรผrde gerne den Inhalt eines Textelements aus jedem Sprachreiter ausgeben Das Element heiรŸt z.B. ps_country und ist ein einfaches Textelement. Wenn ich nun in einer anderen Seitenvorlage (nicht in den Projekteinstelltungen) diese Variable aufrufe, geht das ja ganz einfach mit: $CMS_VALUE(ps_country)$. Wie komme ich aber nun an die einzelnen Sprachversionen ran?

Versucht habe ich es schon mit

- $CMS_VALUE(#global.getSection().getData().get("ps_country").getEditor().get("DE"))$

- $CMS_VALUE(ps_country.getEditor().get("DE"))$

Hat beides leider nicht funktioniert. Deswegen wรคre es toll, wenn jemand noch einen weiteren Tip fรผr mich hรคtte!?

GruรŸ

Charlotte

0 Kudos
4 Replies
hoebbel
Crownpeak employee

Hallo Frau Kรถnig,

funktioniert das hier vielleicht:

$CMS_SET(actualLanguage,#global.language)$

$CMS_FOR(lang, #global.project.languages)$

  $CMS_SET(#global.language,lang)$

  $CMS_VALUE(ps_country)$

$CMS_END_FOR$

$CMS_SET(#global.language,actualLanguage)$

Viele Grรผsse aus Dortmund,

  Holger Hรถbbel

0 Kudos

Vielen Dank!

Das werde ich ausprobieren!

GruรŸ

charlotte

0 Kudos

Hallo Frau Kรถnig,

das wird nicht funktionieren Smiley Sad

Neuer Ansatz:

Versuchen Sie mal das hier:

$CMS_FOR(lang, #global.project.languages)$

$CMS_VALUE(lang.abbreviation)$-$CMS_VALUE(#global.userService.getStore("globalstore",true).projectProperties.getData().get("ps_country").getEditor().get(lang))$<br>

$CMS_END_FOR$

Hinweis: userService.getStore("globalstore",true) ist deprecated.

Sobald ich etwas Zeit habe, versuche ich Ihnen hier noch einen Lรถsungsweg ohne deprecated Methoden zur Verfรผgung zu stellen.

Viele Grรผsse aus Dortmund,

  Holger Hรถbbel

0 Kudos
hoebbel
Crownpeak employee

Nachtrag:

Mein ursprรผnglicher Lรถsungsansatz funktioniert รผbrigens nur, wenn der auszugebende Kontext bei der ร„nderung der Sprache noch nicht initialisiert wurden.

Wenn man also beispielsweise die Sprache auf der Seite vor der Ausgabe eines Absatzes รคndert, dann klappt auch der ursprรผngliche Ansatz.

Beispiel hierfรผr:

$CMS_SET(actualLanguage,#global.language)$

$CMS_FOR(body,#global.page.children)$

$CMS_FOR(section,body.children)$

$CMS_IF(#global.language != #global.project.masterLanguage && section.isInOutputIncluded(#global.language))$$CMS_VALUE(section)$$CMS_ELSE$

$CMS_SET(#global.language,#global.project.masterLanguage)$$CMS_VALUE(section)$$CMS_SET(#global.language,actualLanguage)$$CMS_END_IF$

$CMS_END_FOR$

$CMS_END_FOR$

Absรคtze sollen also in der Mastersprache ausgegeben werden, wenn der Haken "diesen Absatz in der Ausgabe generieren" deaktiviert wurde.

0 Kudos

Type a product name