Search the FirstSpirit Knowledge Base
Hallo zusammen,
folgendes Problem:
Ich habe in den Projekteinstellungen mehrsprachige Eingabekomponenten.
Diese will ich in einer Mediendatei (auch einsprachig) in den verschiedenen Sprachen ausgeben.
Dazu bin ich über die Projektsprachen iteriert und habe immer die Sprache der Schleife gleich #global.language gesetzt.
$CMS_SET(global_lang_temp,#global.language)$
$CMS_FOR(lang, #global.project.languages)$
$CMS_SET(#global.language, lang)$
$CMS_IF(!ps_cookieText.isEmpty)$
$CMS_VALUE(ps_cookieText)$
$CMS_END_IF$
$CMS_VALUE(#global.language)$
$CMS_END_FOR$
$CMS_SET(#global.language,global_lang_temp)$
In der Generierung ist DE und EN als Sprache aktiv, es wird jedoch immer nur der DE-Text ausgegeben?
#global.language gibt mir korrekt alle Sprachen aus.
Kann mir jemand erklären warum? Bzw. was ich falsch gemacht habe?
Es müsste doch möglich sein, die Eingabekomonente in allen Sprachen auszulesen.
FS: 5.2.212.71463
Grüße
Tobias
Hallo Tobias,
ich bin mir nicht sicher, ob #global.language so einfach überschrieben werden kann und das auch im $CMS_VALUE$ dann greift.
Du könntest ein einfaches BeanShell-Skript schreiben, dass dir die Werte für die verschiedenen Sprachen ausliest.
Viele Grüße
Tim
Hallo Tobias,
ein Umsetzen der Sprache funktioniert meines Wissens nur, bevor die entsprechenden Variablen in den Kontext geschrieben werden. Bei ProjectSettings passiert das aber direkt zu Beginn der Generierung. D.h. Deine Umschaltung kommt "zu spät", die Variable ps_cookieText hat bereits einen Wert, der nicht bei jedem Zugriff neu ermittelt wird (was auch sinnvoll ist).
Hier müsstest Du tatsächlich den etwas längeren Weg über das "Origina-FormData" gehen, in etwa so:
$CMS_FOR(for_lang,#global.project.languages)$
$CMS_SET(set_text,
#global.project.userService
.getStore(class("de.espirit.firstspirit.access.store.Store$Type").GLOBALSTORE,#global.release)
.projectProperties
.formData.get(for_lang,"ps_cookieText").get()
)$
$CMS_IF(!set_text.isEmpty)$
$CMS_VALUE(set_text)$
$CMS_END_IF$
$CMS_END_FOR$
Viele Grüße
Michael
Hallo Tobias,
benötigst Du noch weitere Hilfe oder haben Dir die bisherigen Antworten bereits geholfen?
In diesem Fall wäre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere
Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lösung
gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.
Viele Grüße
Tim