Ergebnis 1 bis 8 von 8

Thema: Englischer Browser, keine deutsch-sprachige Startseite (index) aufrufbar! [GELÖST]

  1. #1
    Contao-Nutzer Avatar von chrizdee
    Registriert seit
    24.08.2009.
    Ort
    Reichenschwand
    Beiträge
    73

    Standard Englischer Browser, keine deutsch-sprachige Startseite (index) aufrufbar! [GELÖST]

    Hallo Community!

    Folgendes Problem:

    Die Website hat zwei Sprachversionen. Deutsch (Fallback-Sprache) und Englisch.
    Die deutsche Startseite hat den Alias "index", damit diese in der Navigation nur als Domain und ohne zusätzliche Alias verlinkt wird. Durch die automatische Spracherkennung/-umschaltung kann ein Besucher mit einem englischen Browser nun nicht mehr auf die deutsche Startseite (domain.tld) wechseln, da er automatisch auf die englische Startseite weitergeleitet wird.

    Kann man die automatische Sprachumschaltung deaktivieren und falls ja, wie?

    Viele Grüße und herzlichen Dank
    Chris
    Geändert von chrizdee (23.09.2016 um 14:35 Uhr)

  2. #2
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Das ist ja gerade die Funktion der automatischen Sprachumschaltung .

    Die Formulierung 'englischer Browser' stimmt dabei nicht ganz: nur wenn der Besucher in den Spracheinstellungen des Browsers eingestellt hat, dass er lieber englische als deutsche Inhalte sehen will, ist das Verhalten wie beschrieben. Aber das will der Anwender dann ja auch so.
    Es sollte ihn aber nichts davon abhalten, die deutsche Startseite per 'deineDomain.tld/index.html' aufzurufen.

    Ansonsten gibt es irgendwo die Einstellung 'Sprache zur URL hinzufügen' oder so ähnlich - oder du baust eine Erweiterung zur Sprachumschaltung ein, damit der Besucher jederzeit die Sprache wechseln kann.

  3. #3
    Contao-Fan Avatar von Contao-Academy
    Registriert seit
    09.04.2011.
    Ort
    Kempten
    Beiträge
    292
    Partner-ID
    10079
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Die Erweiterung wäre "Changelanguage". Damit kannst du ein Modul zum Umschalten der Sprachen einbauen.
    Den Rest hat 'folkfreund' schon gesagt.

  4. #4
    Contao-Nutzer Avatar von chrizdee
    Registriert seit
    24.08.2009.
    Ort
    Reichenschwand
    Beiträge
    73

    Standard

    Vielen Dank für eure Nachrichten.

    Das Modul Changelanguage habe ich bereits installiert, allerdings behebt das nicht das Problem, dass ein "englischer"-Besucher nicht auf die deutsche Startseite wechseln kann, wenn diese den Alias "index" hat. Prinzipiell ist die automatische Spracherkennung eine feine Sache, in diesem Fall arbeitet Sie aber nicht so, wie sich das mein Kunde wünscht.

    Wie gesagt, ich möchte die Spracherkennung deaktivieren.
    Weiss jemand wie das funktioniert?

    Besten Dank!

  5. #5
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das wird wohl nur funktionieren, wenn man die Spache zur URL hinzufügt. Dann hat jede Startseite ihre "eigene" URL.

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.131
    Partner-ID
    10107

    Standard

    Für einen korrekten, mehrsprachigen Betrieb brauchst du entweder die Sprache in der URL oder für jede Sprache eine eigene Domain.

  7. #7
    Contao-Nutzer Avatar von chrizdee
    Registriert seit
    24.08.2009.
    Ort
    Reichenschwand
    Beiträge
    73

    Standard

    Über folgenden Hook kann man die Sprachweiterleitung deaktivieren:

    PHP-Code:
    $GLOBALS['TL_HOOKS']['getRootPageFromUrl'][] = array('MyClass''hookGetRootPageFromUrl'); 

    Hier die entsprechende Klasse:

    PHP-Code:
    class MyClass extends Frontend {
        public function 
    hookGetRootPageFromUrl()
        {
            if(
    $this->Environment->request == '')
            {
                
    $this->import('Database');
                
    $objRootPage $this->Database->prepare("SELECT id, dns, language, fallback FROM tl_page WHERE type='root' AND published=1 AND fallback=1")
                                              ->
    limit(1)
                                              ->
    execute();
                return 
    $objRootPage;
            }
        }

    Ich hab die beiden Codefragmente mal schnell in eine Erweiterung gepackt und bei GitHub publiziert.
    Geändert von chrizdee (23.09.2016 um 15:03 Uhr)

  8. #8
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Und warum ist das nun besser als die von Spooky vorgeschlagenen Lösungen?

    BTW: ein ordentlicher und aussagekräftiger Klassenname wäre für einer Erweiterung dann aber schon gut .

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •