twolf
I'm new here

Ausgabe Menüpunkte in anderer Sprache

Jump to solution

Hallo Zusammen,

wir wollen auf unserer Seite den Google-Tag-Manager einbinden um Statistiken fahren zu können. Hierbei haben wir die Herausforderung, dass wir auch auf der englischen Seite die deutsche Menü-Struktur (Parent-Menu und aktueller Menüpunkt) auslesen möchten.

Ich habe es derzeit über eine Navigationsfunktion im Header gelöst:

<CMS_FUNCTION name="Navigation" resultname="fr_ft_gtmArea">

     <CMS_PARAM name="expansionVisibility" value="parentpath"/>

     <CMS_ARRAY_PARAM name="unselectedHTML">

          <CMS_ARRAY_ELEMENT index="1"><![CDATA[$CMS_VALUE(#nav.label)$]]></CMS_ARRAY_ELEMENT>

     </CMS_ARRAY_PARAM>

</CMS_FUNCTION>

Mit diesem Funktionsaufruf gibt er mir zwar alles korrekt aus, aber natürlich immer in der ausgewählten Anzeige-Sprache (DE oder EN). Ich habe es schon mit diversen anderen Methoden versucht, wie zum Beispiel mit dem Aufruf $CMS_VALUE(#nav.ref.getDisplayName(#global.project.getLanguage("DE")))$ aber hiermit wird nichts mehr ausgegeben. Ebenso habe ich versucht die Sprache vor dem Laden der Navigationsfunktion, sowie in der Navigationsfunktion, anzupassen. Aber dies wird einfach übergangen.

$CMS_SET(currentLanguage,#global.language)$ 

$CMS_SET(#global.language,#global.project.language("DE"))$ 

$CMS_VALUE(#nav.label)$

$CMS_SET(#global.language,currentLanguage)$

Vielleicht hat hier noch jemand eine Idee, wie ich an meine gewünschten Werte kommen kann.

Viele Grüße,

Tim

0 Kudos
1 Solution

Accepted Solutions
groth
Crownpeak employee

Hallo Tim,

ich habe mir dein Problem gerade mal etwas angesehen und es im Mithras Beispiel Projekt ausprobiert. Generell funktioniert dein Ansatz schon, du bist also auf dem richtigen Weg. Ausgehend von der Variante mit getDisplayName habe ich folgende Function in den Header des Standard Seiten-Templates gebaut:

<CMS_FUNCTION name="Navigation" resultname="fr_ft_gtmArea">

     <CMS_PARAM name="expansionVisibility" value="parentpath"/>

     <CMS_ARRAY_PARAM name="unselectedHTML">

          <CMS_ARRAY_ELEMENT index="1"><![CDATA[$CMS_VALUE(#nav.ref.getDisplayName(#global.project.getLanguage("DE")))$ ]]></CMS_ARRAY_ELEMENT>

     </CMS_ARRAY_PARAM>

</CMS_FUNCTION>

Zunächst bekam ich auch keine Ergebnisse angezeigt und habe dann die expansionVisibility auf all gesetzt, schon waren Ergebnisse da. Bei genauerem Hinsehen habe ich dann bemerkt, dass du für die Navigation-Function den Parameter unselectedHTML benutzt, sollte es nicht selectedHTML sein? Dann bekomme ich auch entsprechende Ergebnisse. Ich bin mir nun nicht sicher in welcher Struktur du welche Knoten ausgeben möchtest, aber evtl ist auch der Parameter <CMS_PARAM name="wholePathSelected" value="1" /> relevant für dich?

Beste Grüße

Christian

View solution in original post

0 Kudos
2 Replies
groth
Crownpeak employee

Hallo Tim,

ich habe mir dein Problem gerade mal etwas angesehen und es im Mithras Beispiel Projekt ausprobiert. Generell funktioniert dein Ansatz schon, du bist also auf dem richtigen Weg. Ausgehend von der Variante mit getDisplayName habe ich folgende Function in den Header des Standard Seiten-Templates gebaut:

<CMS_FUNCTION name="Navigation" resultname="fr_ft_gtmArea">

     <CMS_PARAM name="expansionVisibility" value="parentpath"/>

     <CMS_ARRAY_PARAM name="unselectedHTML">

          <CMS_ARRAY_ELEMENT index="1"><![CDATA[$CMS_VALUE(#nav.ref.getDisplayName(#global.project.getLanguage("DE")))$ ]]></CMS_ARRAY_ELEMENT>

     </CMS_ARRAY_PARAM>

</CMS_FUNCTION>

Zunächst bekam ich auch keine Ergebnisse angezeigt und habe dann die expansionVisibility auf all gesetzt, schon waren Ergebnisse da. Bei genauerem Hinsehen habe ich dann bemerkt, dass du für die Navigation-Function den Parameter unselectedHTML benutzt, sollte es nicht selectedHTML sein? Dann bekomme ich auch entsprechende Ergebnisse. Ich bin mir nun nicht sicher in welcher Struktur du welche Knoten ausgeben möchtest, aber evtl ist auch der Parameter <CMS_PARAM name="wholePathSelected" value="1" /> relevant für dich?

Beste Grüße

Christian

0 Kudos
pavone
I'm new here

Hallo Tim,

benötigst Du noch weitere Hilfe oder hat Dir Christians Antwort 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

Tim

0 Kudos