marius_haechler
Elite Observer

FS_LIST database Sprache ändern

Hallo,

Wir haben bei uns eine FS_LIST vom Typ Database.

Die Ausgabe ist wie folgt:

$CMS_FOR(item, st_list)$

     $CMS_VALUE(item)$

$CMS_END_FOR$

In der Tabellenvorlagen soll dann die Generierungssprache geändert werden.

$CMS_SET(#global.language, #global.project.masterLanguage)$

$CMS_VALUE(tt_title)$

Wenn die Sprache nicht geändert wird, wird die Ausgabe korrekt in der Mastersprache gemacht.

Wenn die Sprache jedoch ändert und der Inhalt nicht gepflegt ist, wird nichts mehr angezeigt.

#this ist IdentifiableIdProvidingFormData

Ich möchte jedoch mit

     tt_title

und nicht mit

     #this.get(#project.project.masterLanguage, "tt_title").get()

darauf zugreiffen.

Gibt es eine Möglichkeit die Daten nach dem ändern der Sprache erneut zu laden?

0 Kudos
6 Replies
pavone
I'm new here

Hallo,

ich kann noch nicht ganz nachvollziehen, wieso überhaupt die Generierungssprache manuell verändert werden soll bzw. warum zwingend die Masterlanguage verwendet werden soll. Es wäre hilfreich, wenn der Anwenungsfall noch etwas genauer beschrieben wird.

Viele Grüße

Tim

0 Kudos

Es geht dabei um ein Sprachfallback.

Im wirklichen Template wird überprüft ob der Datensatz übersetzt ist oder nicht.

0 Kudos

Hallo,

wenn fehlende Übersetzungen z.B. immer durch die Mastersprache ersetzt werden sollen, kann dies durch eine Projekteinstellung automatisiert werden. Dazu einfach in den Projekteinstellungen im Bereich "Ersetzungen" die Option "Sprachersatz" auf "Mastersprache verwenden" setzen.

ersetzungen.png

Ich hoffe das hilft weiter!

Viele Grüße

Tim

0 Kudos

Diese Option haben wir schon gesetzt.

Soweit ich weiss hilft die aber für Datenquellen Einträge nicht viel. (Stand 4.2)

Die FS_LIST ist ja vom Typ Database.

Wenn ich die Sprache ändere, bevor ich mit CMS_VALUE darauf zugreiffe, kommt auch die MasterSprache.

$CMS_FOR(item, st_list)$

     $CMS_SET(#global.language, #global.project.masterLanguage)$
     $CMS_VALUE(item)$

$CMS_END_FOR$

0 Kudos

Dass die Option für Datenquellen nicht greift stimmt natürlich, mein Fehler.

Vielleicht ist dieses Posting interessant: https://community.e-spirit.com/message/12145

Ich glaube ohne etwas zusätzlichen Code wird es nicht funktionieren. Ich würde den im Posting beschriebenen Weg wählen und in der Tabellenvorlage

$CMS_VALUE(#row.SPALTENNAME_SPRACHKÜRZEL)$

verwenden, wenn der Datensatz bzw. die Spalte in der aktuellen Sprache nicht übersetzt ist. Als Sprachkürzel kannst du dann entweder das Kürzel der Masterlanguage hart codieren oder den vollständigen Spaltennamen zunächst zusammenbauen. Etwa so:

$CMS_SET(set_masterValue, "<SPALTENNAME>_" + #global.project.masterLanguage.abbreviation)$

$CMS_VALUE(#row.getValue(set_masterValue))$

0 Kudos

Hallo,

benötigst Du noch weitere Hilfe oder haben Dir Tims 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

Michaela

0 Kudos