Linz/Urfahr
Hauptstraße 58, 4040 Linz
+43 50 353-300
Neufelden
Marktplatz 1, 4120 Neufelden
+43 50 353-300
Gleisdorf
Franz Bloder Gasse 4, 8200 Gleisdorf
+43 50 353-300
Salzburg
Linzer Gasse 3, 5020 Salzburg
+43 50 353-300

Craft CMS — Language Switcher Macro

Language Switcher oder wie man heute sagt: Site Switcher. Wird immer dann gebraucht, wenn man eine Website hat von der es mehrere Versionen gibt. Das kann z.B. eine Sprachübersetzung einer Website sein, aber auch andere Anwendungsfälle sind denkbar. Der Regelfall ist wohl aber doch der Language Switcher. Was macht diesen so besonders?

Anforderungen an einen flexiblen Language Switcher im Craft CMS

Wir haben jetzt schon mehrere Kunden Projekte mit einem Language Switcher realisiert (Talentor, Kusser). Dabei wollten wir keinen normalen Language Switcher, der "dumm" einfach einen Parameter in der URL tauscht. Wir wollten flexibel bleiben und jeweils steuern können, was der Language Switcher anzeigt. Rausgekommen ist ein Twig Macro — ja, Macros sind klasse für so etwas — was die meisten Anforderungen erfüllt. Das ganze ist dann immer die Grundlage und wird dann im Projekt erweitert bzw. angepasst.

Code Snippet

Zeile 7-11 sind dann interessant, wie man das Ganze einbindet. Wenn man nichts in das Macro reingibt, wird als default "all" gesetzt. Dann werden alle Languages, die es auf der Website gibt, einfach angezeigt. Man hat aber die Möglichkeit, z.B. ein Array mit in das Macro zu übergeben. Dafür nutzt man die Site Handles und kann so ziemlich genau steuern, welche Languages der Switcher anzeigt. Schön flexibel.

Darf auf gern diskutiert werden das Ganze. Schreibt uns einfach auf Twitter ;)