Search the FirstSpirit Knowledge Base
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
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
Vielen Dank!
Das werde ich ausprobieren!
Gruß
charlotte
Hallo Frau König,
das wird nicht funktionieren
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
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.