Drupal Sprache per Link umschalten

Im vorliegenden Fall habe ich eine Webseite bestehend aus einem Online-Shop (kein Drupal-Modul) und Drupal. Beide Bereiche sind für den Webseitenbesucher nicht unterscheidbar (selbes Template und Menülinks jeweils zum gewünschten Zielbereich).

Die Sprachumschaltung innerhalb des Online-Shops funktioniert. Innerhalb Drupal kann ich ebenfalls mit dem Language Switcher umschalten. Allerdings wird im Online-Shop bereits schön eine Sprachumschaltung mit Grafiklinks (Flaggen) angeboten, die ich für Drupal übernehmen möchte.

Die Flaggen ins Drupal-Template zu integrieren ist nicht die Herausforderung – aber die richtigen Links zu finden. Einfachste Lösung:

Drupal-Sprachumschaltung mit Link realisieren (Lösung innerhalb Template)

  1. Content Translation-Modul aktivieren
  2. Unter Admin -> Site Configuration -> Languages -> Configure die Language Negotiation „Path prefix with language fallback“ auswählen
  3. Im Drupal-Template folgende PHP-Funktion vorbereiten (je nach Sprachumschaltung die Sprachkürzel ausbessern und mit den in Drupal eingestellten Kürzeln abgleichen): str_replace(‚/en/‘, ‚/de/‘, ‚http://‘ . $_SERVER[‚HTTP_HOST‘] . $_SERVER[‚REQUEST_URI‘]);
  4. Die Flaggengrafiken-Links über Aufruf dieser Funktion generieren.

Spracherhaltung von Online-Shop nach Drupal-Seite

Jeder Menülink, der aus dem Online-Shop in den Drupal-Bereich führt, muss ergänzt werden durch das Sprachkürzel (z.B. „de“ bzw. „en“).

Im vorliegenden Shop exisitiert unter PHP eine Variable, die die aktuelle Sprache angibt. Diese muss in den Link des Menüpunktes eingefügt werden.

Spracherhaltung von Drupal-Seite nach Online-Shop

Der vorliegende Online-Shop bietet die Möglichkeit durch Übergabe einer URL-Variable die Sprache zu steuern. In jeden Menüpunkt-Link, der vom Drupal-Bereich in den Online-Shop führt, muss die Sprache damit an die URL angehängt werden.

Viel Erfolg beim Basteln!

Advertisements

About this entry