Search the FirstSpirit Knowledge Base
Hallo zusammen,
wir versuchen bei nicht übersetzten News, die Nachricht aus der Mastersprache abzurufen. Dabei haben wir verschiedenste Versionen ausprobiert. Insbesondere die Aufrufe von $CMS_VALUE(news.getValue("Image_DE").get().isEmpty())$ und $CMS_VALUE(news.getValue("Image_DE").get(#global.project.masterLanguage).isEmpty())$ ergeben als Ergebnis true.
Die konkrete Frage ist: Wenn eine News bspw. in Spanisch generiert werden soll, allerdings in Spanisch als nicht übersetzt markiert ist und deshalb die News in der Mastersprache angezeigt werden soll, wie kommen wir an die Informationen des Bildes? Bzw. wie können wir auf das Bild in einer anderen Sprache zugreifen?
Das Datenbankschema der News sieht wie folgt aus:
Hat hier vielleicht jemand eine Idee?
Viele Grüße
Hallo Joachim,
es gibt hier verschiedene Wege, wie man das realisieren kann.
Entweder direkt auf die entsprechende Spalte zugreifen
$CMS_REF(news.getValue("Image_EN").get())$
oder prüfen, ob die News in der Sprache übersetzt vorliegt und wenn nicht, dann die News mit einer anderen Sprache ausgeben:
$CMS_SET(set_actualLanguage,#global.language)$
$CMS_IF(<is news translated>)$
<Ausgabe News in der aktuellen Sprache>
$CMS_ELSE$
$CMS_SET(#global.language,#global.project.masterLanguage)$
<Ausgabe News in der MasterSprache>
$CMS_SET(#global.language,set_actualLanguage)$
$CMS_END_IF$
WICHTIG ist es im zweiten Fall, die Sprache wieder zurückzusetzen, da ansonsten der Rest der Generierung in der Mastersprache stattfinden wird!
Außerdem funktioniert die zweite Lösung nur, wenn der Dataset noch nicht in der aktuellen Sprache initialisiert wurde.
Hilft das weiter?
Holger
Hallo Joachim,
es gibt hier verschiedene Wege, wie man das realisieren kann.
Entweder direkt auf die entsprechende Spalte zugreifen
$CMS_REF(news.getValue("Image_EN").get())$
oder prüfen, ob die News in der Sprache übersetzt vorliegt und wenn nicht, dann die News mit einer anderen Sprache ausgeben:
$CMS_SET(set_actualLanguage,#global.language)$
$CMS_IF(<is news translated>)$
<Ausgabe News in der aktuellen Sprache>
$CMS_ELSE$
$CMS_SET(#global.language,#global.project.masterLanguage)$
<Ausgabe News in der MasterSprache>
$CMS_SET(#global.language,set_actualLanguage)$
$CMS_END_IF$
WICHTIG ist es im zweiten Fall, die Sprache wieder zurückzusetzen, da ansonsten der Rest der Generierung in der Mastersprache stattfinden wird!
Außerdem funktioniert die zweite Lösung nur, wenn der Dataset noch nicht in der aktuellen Sprache initialisiert wurde.
Hilft das weiter?
Holger