rolf_siebachmey
I'm new here

Mehrsprachigkeit in generischen Linkvorlagen

Hallo,

Bei generischen Linkvorlagen ist mir aufgefallen, dass das Attribut useLanguages nach dem Speichern immer auf "no" gesetzt wird. Ist das ein Fehler in der Umsetzung der generischen Linkvorlagen? In der Doku wird darauf nicht eingegangen und es macht durchaus Sinn, dass Teile einer Linkvorlage Sprachabhängig sind.

Ich habe das nur bei ein paar Eingabekomponenten getestet, aber dieses Problem besteht unter Anderem bei CMS_INPUT_TEXT. Das Problem habe ich bei FS-Version 4.2.437 bemerkt.

Gruß

Rolf

0 Kudos
2 Replies
hoebbel
Crownpeak employee

Hallo Rolf,

Linkinhalte sind grundsätzlich sprachunabhängig. Dies liegt daran, dass Sie ja sowohl in sprachabhängigen als auch sprachunabhängigen Eingabekomponenten benutzt werden können. So macht es zum Beispiel in meinen Augen keinerlei Sinn, einen generischen Link mit sprachabhängigen inhalten innerhalb eines CMS_INPUT_DOM zu verwenden.

Wenn Du sprachabhängige Eingabekomponenten innerhalb eines generischen Links haben willst, so musst Du dir die selber "bauen".

Hier ein entsprechendes Beispiel:

<CMS_MODULE>

  <CMS_GROUP scrollable="fixed">

    <LANGINFOS>

      <LANGINFO lang="*" label="Link text"/>

      <LANGINFO lang="DE" label="Verweis-Text"/>

      <LANGINFO lang="ES" label="Texto de referencia"/>

      <LANGINFO lang="FR" label="Texte de référence"/>

      <LANGINFO lang="IT" label="Testo di riferimento"/>

      <LANGINFO lang="RU" label="Текст ссылки"/>

    </LANGINFOS>

    <CMS_GROUP scrollable="fixed" tabs="top">

      <CMS_INPUT_TEXT name="LinktextEN" useLanguages="no">

        <LANGINFOS>

          <LANGINFO lang="*" label="EN"/>

        </LANGINFOS>

      </CMS_INPUT_TEXT>

      <CMS_INPUT_TEXT name="LinktextDE" useLanguages="no">

        <LANGINFOS>

          <LANGINFO lang="*" label="DE"/>

        </LANGINFOS>

      </CMS_INPUT_TEXT>

      <CMS_INPUT_TEXT name="LinktextES" useLanguages="no">

        <LANGINFOS>

          <LANGINFO lang="*" label="ES"/>

        </LANGINFOS>

      </CMS_INPUT_TEXT>

      <CMS_INPUT_TEXT name="LinktextFR" useLanguages="no">

        <LANGINFOS>

          <LANGINFO lang="*" label="FR"/>

        </LANGINFOS>

      </CMS_INPUT_TEXT>

      <CMS_INPUT_TEXT name="LinktextIT" useLanguages="no">

        <LANGINFOS>

          <LANGINFO lang="*" label="IT"/>

        </LANGINFOS>

      </CMS_INPUT_TEXT>

      <CMS_INPUT_TEXT name="LinktextRU" useLanguages="no">

        <LANGINFOS>

          <LANGINFO lang="*" label="RU"/>

        </LANGINFOS>

      </CMS_INPUT_TEXT>

    </CMS_GROUP>

  </CMS_GROUP>

</CMS_MODULE>

Dies erzeugt dann eine GUI, die so aussieht:

language.gif

Viele Grüsse aus Dortmund,

  Holger

0 Kudos
hoebbel
Crownpeak employee

Was hier noch fehlte ist eien sinnvolle Methode, um den Inhalt der Eingabekomponente einfach sprachabhängig auszugeben.

Natürlich kann man einfach ein Konstrukt nehmen, welches über entsprechende $CMS_IF(#global.language.abbreviation ="EN")$$CMS_VALUE(LinktextEN)$$CMS_ELSIF(#global.language.abbreviation=="DE")$...$CMS_ENDIF$

die einzelnen Sprachen prüft, aber das ist lang.

Tipfaule könnten folgendes ausprobieren:

$CMS_VALUE(#global.getContext().getVariableValue("Linktext" + #global.language.abbreviation))$

Das sollte funktionieren...

Viele Grüße aus Dortmund,

  Holger

0 Kudos