Ergebnis 1 bis 21 von 21

Thema: Sprache zur URL hinzufügen für einzelne Websites

  1. #1
    Contao-Nutzer
    Registriert seit
    11.12.2012.
    Beiträge
    22

    Standard Sprache zur URL hinzufügen für einzelne Websites

    Mahlzeit,

    ich habe bisher 10 Websites in einem Contao-Setup, und nun kam die erste mehrsprachige hinzu. Nur für diese brauche ich die Option "Sprache zur URL hinzufügen", und das klappt dort auch prima. Allerdings sollen die anderen Websites davon nix mitbekommen! Also kam mir der Gedanke, folgendes in die /system/config/initconfig.php zu schreiben (und die Contao-Option natürlich deaktiv lassen):
    Code:
    if ( preg_match( "/^www\.domain\.de$/", $_SERVER['SERVER_NAME'] ) ) {
    	$GLOBALS['TL_CONFIG']['addLanguageToUrl'] = true;
    }
    Das funktioniert eigentlich wie gewünscht und bisher konnte ich keine Nebenwirkungen beobachten. Was meint ihr, spricht da trotzdem irgendwas dagegen, oder wie würde man es sonst lösen können? Nur wg. dieser einen Ausnahme gleich ein weiteres autarkes Contao aufzusetzen zu müssen, wäre ja mit Spatzen auf Kanonen geschossen.
    (preg_match nutze ich aus speziellen Gründen, in diesem Beispiel ginge natürlich auch "==", aber darum gehts ja nicht.)

    beste Grüße

  2. #2
    Contao-Fan Avatar von joe
    Registriert seit
    20.06.2009.
    Ort
    Lüneburg
    Beiträge
    687
    User beschenken
    Wunschliste

    Standard

    Du könntest dir eine Erweiterung schreiben und bei jeder Root Page im Backend dann optional angeben ob du du das Sprachkürzel anhängen willst oder nicht.

    Ich habe mal schnell das ganze umgesetzt. Findest du im Anhang. Bei Bedarf kann ich die Erweiterung gerne ins ER stellen.

    Du musst einmal die Datenbank aktualisieren und deine Startseiten sollten jeweils als Alias index verwenden.

    VG Joe
    Angehängte Dateien Angehängte Dateien
    Trainings und Coachings zur Fort und Weiterbildung sowie Beratung in den Bereichen Contao, JavaScript, jQuery, VueJS, React, PHP, NodeJS und vielen weiteren Themen.

    Mehr unter jgreg.dev

    Follow me on Twitter @JoeRayGregory

  3. #3
    Contao-Nutzer
    Registriert seit
    11.12.2012.
    Beiträge
    22

    Standard

    Hey Joe
    Wow, danke für das Modul! Das war auch mein nächster Gedanke: wenn es echt so einfach ist, wie vermutet, warum ist es in Contao dann nicht gleich per Rootpage geregelt, sondern nur zentral? Das könnte man doch prima in den Core integrieren. Allerdings bleibt noch eine Frage offen: Es ist im Multidomain-Betrieb ja möglich, sich über jede Domain ins Backend einzuloggen, bzw. ich selbst als Superadmin nutze z.b. eine gesonderte Subdomain dafür. Dort muss aber auch "addLanguageToUrl" greifen, da sonst keine doppelten Aliase für mehrsprachige Projekte (mit gleicher Domain) erlaubt sind. Deswegen fand ich meine Lösung per initconfig gut, weil ich dort eben auch andere Domains eintragen kann, die evtl. gar nicht als Rootpage existieren. Das ist aber wohl ein Sonderfall, man könnte auch jeweils mit der richtigen Domain arbeiten...

  4. #4
    Contao-Nutzer
    Registriert seit
    11.12.2012.
    Beiträge
    22

    Standard

    Hi nochmal,
    wollte nur kurz anmerken, dass dein Modul leider nicht funzt wie gewollt. Irgendwie scheint "addLanguageToUrl" dort zu spät zu greifen oder so. Außerdem weiß das Backend nix davon, also ist es auch nicht möglich, zweimal den Alias "index" zu vergeben. Da dreht man sich ein wenig im Kreis und ganz so trivial ist die Option wohl doch nicht. Hm, schade, war eine sehr gute Idee, aber ich muss wohl doch vorerst bei meiner initconfig-Lösung bleiben, die klinkt sich an der richtigen Stelle ein.
    Grüße + danke trotzdem nochmal!

  5. #5
    Contao-Fan Avatar von JMMB
    Registriert seit
    08.03.2012.
    Beiträge
    261
    User beschenken
    Wunschliste

    Standard Gibt es hier neues?

    Schade das es nicht funktioniert. Wäre eine schöne Sache gewesen. Hat sich bei diesem Modul noch etwas getan?

  6. #6
    Contao-Fan Avatar von joe
    Registriert seit
    20.06.2009.
    Ort
    Lüneburg
    Beiträge
    687
    User beschenken
    Wunschliste

    Standard

    Ich müsste mir das mal genauer ansehen. Leider habe ich derzeit keine Zeit dafür es sei denn es kommt demnächst ein Kunde der genau das braucht.
    Trainings und Coachings zur Fort und Weiterbildung sowie Beratung in den Bereichen Contao, JavaScript, jQuery, VueJS, React, PHP, NodeJS und vielen weiteren Themen.

    Mehr unter jgreg.dev

    Follow me on Twitter @JoeRayGregory

  7. #7
    Contao-Fan Avatar von JMMB
    Registriert seit
    08.03.2012.
    Beiträge
    261
    User beschenken
    Wunschliste

    Standard

    ok. Danke erstmal für´s Feedback.

  8. #8
    Contao-Nutzer
    Registriert seit
    11.12.2012.
    Beiträge
    22

    Standard

    Hi, kurz noch meinen Senf ergänzt:
    Ich könnte mir vorstellen, es doch auch irgendwie per Modul gelöst zu bekommen, allerdings geht es mir ähnlich, und es fehlt leider einfach die Zeit. Allerdings kann ich anmerken, dass meine initconfig-Lösung nun seitdem (> 1/2 Jahr) online problemlos läuft, und ich dieses also quasi empfehlen kann. Es spricht ja nichts dagegen und tut was es soll, was will man mehr?

  9. #9
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Falls noch jemand Interesse an einem Modul hat, ich hab da was gebastelt.
    Einstellungen der Domain(s) die das Sprachkürzel bekommen sollen werden unter System-Einstellungen eingetragen.
    Über den initializeSystem Hook wird dann ggf. die Variable gesetzt.

    Funktioniert schon, fehlen nur noch die Sprachvariablen und weitere Kleinigkeiten.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  10. #10
    Jayster
    Gast

    Standard

    Ich habe ein ähnliches Problem. Ich habe eine Hauptdomain mit vier Sprachen. Dazu sollen nun noch ein paar Subdomains mit jeweils einer Sprache kommen. Für die Hauptdomain brauche ich die Länderkürzel in der URL, bei den Subdomains soll kein Länderkürzel dabei stehen.

    Mit dem Code in der initconfig vom Anfang dieses Threads kann ich das machen, allerdings gibt es dann ein Problem mit Links, die von der Subdomain auf Seiten der Hauptdomain zeigen sollen. Die werden dann nämlich auch ohne Länderkürzel eingefügt. Ich brauche zum Beispiel "www.domain.de/de/unternehmen.html" der Link lautet aber nur "www.domain.de/unternehmen.html". Hat jemand eine Idee, wie man das lösen könnte?

    @BugBuster: Du hast geschrieben, dass du ein Modul gebastelt hast, mit dem man das hinzufügen des Sprachkürzels steuern kann. Hast du das irgendwo zur Verfügung gestellt?

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

    Standard

    Zitat Zitat von Jayster Beitrag anzeigen
    Mit dem Code in der initconfig vom Anfang dieses Threads kann ich das machen, allerdings gibt es dann ein Problem mit Links, die von der Subdomain auf Seiten der Hauptdomain zeigen sollen. Die werden dann nämlich auch ohne Länderkürzel eingefügt. Ich brauche zum Beispiel "www.domain.de/de/unternehmen.html" der Link lautet aber nur "www.domain.de/unternehmen.html". Hat jemand eine Idee, wie man das lösen könnte?
    Macht Contao da nicht einen Redirect zur URL mit Language?

  12. #12
    Jayster
    Gast

    Standard

    Das funktioniert leider nur, wenn die Seite, auf die ich verlinke, in der gleichen Sprache ist wie die Seite meiner Subdomain. Wenn ich von einer de-Subdomain auf die de-Hauptdomain verlinke, ist alles gut. Wenn ich aber auf die en-Hauptdomain verlinke, wird dort auch "de" eingefügt statt "en". Also "www.domain.de/de/processes.html" statt "www.domain.de/en/processes.html". Dadurch lande ich auf der 404-Seite, weil es die Seite "processes.html" auf der deutschen Site nicht gibt. Das ist für mich leider ein Problem da ich Subdomains in Sprachen haben werde, die es in der Hauptdomain nicht gibt. Ich müsste zum Beipspiel von der polnischen Subdomain auf Seiten der englischen Hauptdomain verlinken können.

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

    Standard

    Hast du den Sprachenfallback bei www.domain.de aktiviert?

  14. #14
    Jayster
    Gast

    Standard

    Ja, bei der englischen Sprachversion.

  15. #15
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Jayster Beitrag anzeigen
    @BugBuster: Du hast geschrieben, dass du ein Modul gebastelt hast, mit dem man das hinzufügen des Sprachkürzels steuern kann. Hast du das irgendwo zur Verfügung gestellt?

    Ja, aber nur über composer installierbar: bugbuster/contao-lang_to_url
    Wenn du dich mit Git/Github auskennst und es manuell installieren willst: https://github.com/BugBuster1701/contao-lang_to_url
    Der Inhalt vom src Verzeichnis muss nach system/modules/lang_to_url/ kopiert werden.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  16. #16
    Jayster
    Gast

    Standard

    Danke für die Erweiterung. Das ist sehr praktisch.

    Leider bleibt mein Problem mit den Links auf die Hauptdomain bestehen.

    Ich habe jetzt den Tipp bekommen, dass es mit dem generateFrontendUrl Hook gehen könnte. Leider hatte ich noch keine Zeit, es auszuprobieren. Ich poste hier, wenn es sich damit lösen lässt.

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

    Standard

    Ich müsste das erst mal genau nachstellen, aber es hört sich nach einem Bug von Contao an.

  18. #18
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    zu meiner Erweiterung beachte die Hinweise im Handbuch
    http://docs.contao.ninja/books/user-...ise/index.html
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  19. #19
    Jayster
    Gast

    Standard

    Der Hinweis hat mir leider nicht geholfen. Ich habe es gerade mal getestet, mich über die Subdomain einzuloggen. Es wird trotzdem der gleiche Link eingefügt.

  20. #20
    Jayster
    Gast

    Standard

    Nach einigem herumprobieren habe ich jetzt doch noch eine Lösung gefunden. Wenn ich mich über die Subdomain einlogge und im Inhaltselement den Link auf die Hauptdomain (die mit dem Sprachkürzel) als absoluten Link einfüge (anstatt über den Seitenbaum) funktioniert es.

  21. #21
    Contao-Nutzer
    Registriert seit
    11.12.2015.
    Beiträge
    1

    Standard

    Hatte auch das Problem, hat aber jetzt super geklappt!

    Danke und viele Grüße!

    Hubert

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
  •