Moin,
Folgendes Szenario:
Mastersprache ist Englisch. Desweiteren gibt es Deutsch.
Sprachfallback innerhalb von FS fukntioniert ja so, dass, wenn die Inhaltsseite nicht
auf deutsch übersetzt ist, die englische Version herangezogen wird.
Nun haben wir bei uns den besonderen Fall, dass es auchSeiten geben kann,
die nicht in englischer Sprache jedoch in deutscher Sprache vorliegen.
Dafür habe ich versucht, einen Workaround zu bauen.
Am Anfang eines Seitentemplates habe ich folgenden Code-Schnipsel eingebaut:
$CMS_IF(#global.language == #global.project.masterLanguage && !#global.page.isTranslated)$
$CMS_SET(useFallback, true)$
$CMS_SET(fallbackLanguage, null)$
$CMS_FOR(lang, #global.project.languages)$
$CMS_IF(fallbackLanguage.isEmpty && lang != #global.project.masterLanguage && #global.page.isTranslated(lang.abbreviation))$
$CMS_SET(fallbackLanguage, lang)$
$CMS_END_IF$
$CMS_END_FOR$
$CMS_IF(!fallbackLanguage.isEmpty)$
$CMS_SET(#global.language, fallbackLanguage)$
$CMS_END_IF$
$CMS_END_IF$
Im weiteren Verlauf des Seitentemplates kommt u.a. soetwas vor:
$CMS_VALUE(pt_title)$
$CMS_RENDER(template:"WEBeditInplaceBody", name:"content")$
Und am Ende wird die Sprache wieder zurück gestellt:
$CMS_IF(useFallback)$
$CMS_SET(#global.language, #global.project.masterLanguage)$
$CMS_END_IF$
Dieses Vorgehen funktioniert aber nur zum Teil.
Die Variable 'pt_title', die im Formular des Seitentemplates definiert ist, wird weiterhin auf englisch ausgegeben.
Der 'content' hingegen auf deutsch.
Wie bringe ich FirstSpirit dazu, auch die Formularwerte des Seitentemplates in der anderen Sprache auszugeben?
Viele Grüße
Peter Schulz