t_thalmann
Returning Observer

Sprachabhängige Abfragen? (Begriffe mit Anfangsbuchstaben in einem Glossar)

Jump to solution

Wir verwenden eine Datenquelle "Glossar" aus der wir einen A-Z-Index erzeugen:

  • im Inhaltsbereich gibt es eine Seite "Glossar (Buchstabe)", die als einzigen Absatz die Tabellenvorlage enthält, die die Glossarbegriffe als Liste ausgibt
  • in der Struktur gibt es für jeden Anfangsbuchstaben eine Seitenreferenz, die jeweils die Seite "Glossar (Buchstabe)" referenziert, und über eine Abfrage die angezeigten Begriffe auf den jeweiligen Anfangsbuchstaben einschränkt:

    <QUERY entityType="begriff">

        <FILTERPARAM parameter="Anfangsbuchstabe" datatype="java.lang.String" value="A%"/>

        <FILTERPARAM parameter="anfangsbuchstabe" datatype="java.lang.String" value="a%"/>

        <FILTERPARAM parameter="Glossar" datatype="java.lang.String" value="Drittmittel"/>

        <AND>

            <OR>

                <LIKE attribute="begriff_DE" parameter="Anfangsbuchstabe"/>

                <LIKE attribute="begriff_DE" parameter="anfangsbuchstabe"/>

            </OR>

            <LIKE attribute="glossar.name_DE" parameter="Glossar"/>

        </AND>

    </QUERY>

  • Über eine Seitengruppe wird ein Menü in der Form A|B|C| ... |Z ausgegeben

In der Struktur sieht das dann so aus:

glossar_struktur.png

In der Vorschau so:

glossar_preview.png

Jetzt möchten unsere Redakteurinnen gerne das Glossar übersetzen. Dadurch müsste ich allerdings bei der Abfrage für die englische Version nach Übereinstimmungen im Feld "begriff_EN" suchen, sonst wird beispielsweise "Drive Control" bei "A" gelistet, da der Eintrag auf deutsch "Antriebstechnik" lautet.

Bis jetzt hatte ich drei Lösungs-Ideen, die, so weit ich das sehe, sich leider allesamt mit den FirstSpirit-Bordwerkzeugen nicht realisieren lassen:

  • bei der Abfrage das sprachabhängige Feld allgemeingültig zu setzen (<LIKE attribute="begriff*" parameter="Anfangsbuchstabe"/> geht leider nicht; Fehlermeldung: "The table begriff doesn't have the column begriff*"),
  • bei der Seitenreferenz sprachabhängig eine andere Abfrage zu wählen
  • zwei Seitengruppen zu erstellen, die jeweils nur in einer Sprache angezeigt werden

Hat jemand eine Idee, wie man solche Abfragen in Abhängigkeit von der Sprache realisieren kann?

0 Kudos
1 Solution

Accepted Solutions
hoebbel
Crownpeak employee

Hallo Herr Thalmann,

eigentlich müsste

<LIKE attribute="begriff" parameter="Anfangsbuchstabe"/>

funktionieren.

Wenn nicht, dann

<LIKE attribute="begriff_%lang%" parameter="Anfangsbuchstabe"/>

wobei ich mir eigentlich relativ sicher bin, dass die %lang% Schreibweise wenn überhaupt nur für die Sortierung (ORDERCRITERIA) benötigt wird.

Viele Grüsse aus Dortmund,

  Holger Höbbel


View solution in original post

0 Kudos
2 Replies
hoebbel
Crownpeak employee

Hallo Herr Thalmann,

eigentlich müsste

<LIKE attribute="begriff" parameter="Anfangsbuchstabe"/>

funktionieren.

Wenn nicht, dann

<LIKE attribute="begriff_%lang%" parameter="Anfangsbuchstabe"/>

wobei ich mir eigentlich relativ sicher bin, dass die %lang% Schreibweise wenn überhaupt nur für die Sortierung (ORDERCRITERIA) benötigt wird.

Viele Grüsse aus Dortmund,

  Holger Höbbel


0 Kudos

eigentlich müsste

<LIKE attribute="begriff" parameter="Anfangsbuchstabe"/>

funktionieren.

Dachte ich eigentlich auch, aber es liefert  "The table begriff doesn't have the column begriff".

<LIKE attribute="begriff_%lang%" parameter="Anfangsbuchstabe"/>

Ja, das mit dem "%lang%" war das, was mir gefehlt hat. So funktioniert es. Vielen Dank.

0 Kudos