Übersetzung der Startseite
am 24.03.2015 - 17:13 Uhr in
Hallo Zusammen,
Zentrale Fragestellung:
Wie kann ich die Startseite meiner Webseite abhängig von der angewählten Sprache (de, en) anzeigen lassen?
Relevante Rahmendaten:
Kern Version: 7.34
Theme: Premium Corporate v7.x-1.3 (https://www.drupal.org/project/premium_corporate)
Eingesetztes Modul: Internationalization.
Verfügbare Sprachen: Deutsch (primär, default), Englisch
Detaillierte Problembeschreibung:
Die Übersetzung der Inhalte funktioniert einwandfrei. die Sprachenauswahl wird bei jedem Artikel angezeigt. Das Menü wird übersetzt und nur in dem verfügbaren Umfang angezeigt. Die Sprache wird in der Domain angezeigt und von der Seite erkannt (Bsp. www.domain.de/en).
Bei direktem Aufruf der englischen Version der Seite wird entsprechend das englische Menü angezeigt. Auch die übersetzten Blöcke kann ich der angewählten Sprache entsprechend anzeigen lassen. Was ich noch nicht kann, ist die sprachunabhängige Ausgabe der sonstigen Inhalte auf meiner Startseite. Das bedeutet konkret: Ich verwende einen Slider und habe außerdem vier “Kästchen” (je ein div) gebaut, welche ich als Verlinkungen benutze.
Die Administration der Slider findet in den Theme-Einstellungen statt. Hier kann ich aber nicht von der Sprache abhängige Slider einrichten.
Die von mir erstellten Boxen habe ich in die page.tpl.php eingefügt:
<?php if ($is_front): ?>
<?php if($page['mm-box-1'] || $page['mm-box-2'] || $page['mm-box-3'] || $page['mm-box-4']) : ?>
<div id="mm-wrapper">
<?php if($page['mm-box-1']) : ?><div id="mm-box-1" class="" style="cursor:pointer;" onclick="location.href='?q=leistungsfelder';"><?php print render($page['mm-box-1']); ?></div><?php endif; ?>
<?php if($page['mm-box-2']) : ?><div id="mm-box-2" class="" style="cursor:pointer;" onclick="location.href='?q=branchen';"><?php print render($page['mm-box-2']); ?></div><?php endif; ?>
<?php if($page['mm-box-3']) : ?><div id="mm-box-3" class="" style="cursor:pointer;" onclick="location.href='?q=karriere';"><?php print render($page['mm-box-3']); ?></div><?php endif; ?>
<?php if($page['mm-box-4']) : ?><div id="mm-box-4" class="" style="cursor:pointer;" onclick="location.href='?q=kontakt';"><?php print render($page['mm-box-4']); ?></div><?php endif; ?>
</div>
<?php endif; ?>
<?php endif; ?>
Mein Lösungsansatz:
Die Slider und die selbst erstellten Boxen werden angezeigt, nachdem die Abfrage < ?php if ($is_front): ? > “TRUE” zurück gibt. Ist es möglich eine ähnliche Abfrage hinsichtlich der Sprache zu machen? Es gibt die global “$language". Unter diesem Link (https://api.drupal.org/api/drupal/developer%21globals.php/global/language/7) wird als Beispiel-Wert “Language” => ‘en’ aufgeführt. Ich frage mich, ob es möglich ist, eine art Wenn-Dann-Funktionalität mit den folgenden Zusammenhängen zu coden:
Wenn language = de, dann [Code für deutschen Inhalt]
Wenn language = en, dann [Code für englischen Inhalt]
Was meint ihr dazu? Machen meine Überlegungen Sinn oder sieht euch das eher nach einem Woodway aus? ;-)
Herzlichen Dank für jedes Kommentar!
Viele Grüße aus Köln,
Dominik
- Anmelden oder Registrieren um Kommentare zu schreiben
Du hast den Slider selbst
am 24.03.2015 - 18:09 Uhr
Du hast den Slider selbst gebaut. Wenn Du das mit einem mittels Views kreierten Block machen würdest, läßt Du Dir in Views passende Felder in der gewünschten Sprache ausgeben. Die Felder übergibst Du dann an den Slider oder benutzt ein mit Views zusammen arbeitendes Slider-Modul. Dann gibt es diese Probleme nicht mehr.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *