Ich versuche, die Gebietsschemaumschaltung auf dem Anmeldebildschirm meiner Anwendung zu aktivieren. Um dies zu tun, habe ich Links auf meiner Anmeldeseite, die auf site.com/ (das Standardgebietsschema) und site.com/en (das zweite Gebietsschema, das ich unterstütze) zeigen. Sobald ich mich angemeldet habe, funktioniert die Vermittlung wie ein Zauber. Wenn ich jedoch noch nicht authentifiziert bin, wird die Anmeldung immer auf das Standardgebietsschema zurückgesetzt. Mein Verständnis war, dass wenn ich die benannten Routen von FOSUserBundle verwende, dann sollte es in der Lage sein, die Locales automatisch zu behandeln, aber ich kann es nicht zum Laufen bringen.
Meine App / config / security.yml
%Vor%Meine app / config / routing.yml
%Vor%Irgendwelche Hinweise, die ich sehr geschätzt habe, da ich jetzt schon seit ein paar Tagen daran festhalte
Ich weiß nicht, wie Sie mit der Gebietsschilderkennung umgehen, aber mit JMSI18nRoutingBundle können Sie Folgendes tun:
Fügen Sie die erforderlichen Bündel zu composer.json
hinzu:
Konfigurieren Sie die Bundles:
%Vor%Bootstrap die Bündel:
%Vor%Ändern Sie vorhandene Routen, um ihnen das gewünschte Gebietsschema voran zu stellen:
%Vor%Jetzt sollte es funktionieren!
Die Lösung bestand darin, den Routenimporten von FOSUserBundle das Gebietsschema voran zu stellen:
%Vor%Ändern Sie auch die Firewall, um Gebietsschemas in den anonymen Routen zuzulassen, und konfigurieren Sie den logout_path:
%Vor%Die Verwendung von JMSI18nRoutingBundle wäre auf lange Sicht wahrscheinlich besser, aber es funktionierte nicht als Tropfen in der Lösung, als ich es versuchte und das Budget für dieses Projekt erlaubte mir nicht herauszufinden, warum nicht, so wird es sein Links für ein zukünftiges Update.
Meine Lösung: Sie müssen die fos_user-Routen für das be_simple_i18n-Typformat neu definieren. (Ich wählte die Yaml-Version):
In app / config / routing.yml
%Vor%In der App / Ressourcen / config / routing / fos_user_i18n.yml:
%Vor%In der App / config / security.yml
%Vor%Ich habe ein bisschen mit diesem Problem gekämpft. Ich wollte die reine Anmeldung (keine URL in der Sitzung) haben, um auf die richtige lokalisierte Seite umgeleitet zu werden. Ich könnte die Antwort in der Symfony-Dokumentation finden:
%Vor%Tags und Links symfony fosuserbundle